• 《mongoDB》基本操作-创建/更新/删除文档


    一:基本操作

      - db; 当前选择的集合(等于数据库名)

      • > db
        demo

      -  use db_name; 选择你要操作的集合

      • > use demo
        switched to db demo

      -  show dbs; 列出全部集合

      • 刚创建的集合不会出现,必须 插入一条数据之后, 才会有这个集合
      • > show dbs;
        admin   0.000GB
        config  0.000GB
        demo    0.000GB
        local   0.000GB

    二:创建文档

      - 注意

      • 文档目前能接受的长度为 48 M
      • 但是插入必须小于 16M
      • 主要是为了防止不良设计模式的出现
      • 可以使用  Object.bsonsize({JSON}) 检查插入文档的大小 

      - 插入一个文档

      • 语法:
        db.db_name.insert({JSON});
      • > db.demo.insert({"name":"lihong","age":25});
        WriteResult({ "nInserted" : 1 })

      - 批量插入文档

      • 语法:
          db.db_name.insert( [
        {JSON}, {JSON}] )
      • > db.demo.insert([{"name":"zhangsan","age":26}, {"name":"lisi","age":26}]);
        BulkWriteResult({
            "writeErrors" : [ ],
            "writeConcernErrors" : [ ],
            "nInserted" : 2,
            "nUpserted" : 0,
            "nMatched" : 0,
            "nModified" : 0,
            "nRemoved" : 0,
            "upserted" : [ ]
        })

    三:删除文档

      -   删除全部集合文档

      • 只清空集合数据,不删除集合
      • 语法:
        db.db_name.remove( <query>,
        { justOne: <boolean>, writeConcern: <document> } )

        query :(可选)删除的文档的条件。
        justOne : (可选)如果设为 true 或 1,则只删除一个文档,如果不设置该参数,或使用默认值 false,则删除所有匹配条件的文档。
        writeConcern :(可选)抛出异常的级别。
      • > db.xxx.remove({});
        WriteResult({ "nRemoved" : 1 })

      - 彻底删除集合

      • 语法:
        db.db_name.drop();
      • > db.xxx.drop();
        true

    四:更新文档

      - 注意

      • 更新操作不可分割,先到达服务器的先执行,也就是说,在遇到并发情况下,数据总是最新的
      • 因为 ObjectId 的唯一性,在更新时候,推荐使用 ObjectId 进行更新。

      - 更新

      • 语法:
        db.collection.update(
           <query>,
           <update>,
           {
             upsert: <boolean>,
             multi: <boolean>,
             writeConcern: <document>
           }
        )
        
        query : update的查询条件,类似sql update查询内where后面的。
        update : update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的
        upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
        multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
        writeConcern :可选,抛出异常的级别。

      -  更新一条信息

      • db.db_name.update({"_id" : ObjectId("5c61050f0a485d689a5f3e1b")}, {"aa":"xx"});

      - 更新一条信息,没有则新建这条信息

      • db.db_name.update({"name":"lihong"}{"name":"lihong02"}, true)  

      - 更新全部匹配的信息,没有新建

      • db.db_name.update({"name":"lihong"}{"name":"lihong02"}, true,true)

  • 相关阅读:
    lua math 库
    【转】Lua 操作系统库
    lua学习笔记(十三)
    lua学习笔记(十二)
    lua学习笔记(十一)
    lua学习笔记(十)
    lua学习笔记(九)
    lua学习笔记(八)
    lua学习笔记(七)
    lua学习笔记(六)
  • 原文地址:https://www.cnblogs.com/25-lH/p/10362981.html
Copyright © 2020-2023  润新知