zoukankan      html  css  js  c++  java
  • 《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)

  • 相关阅读:
    vue /deep/ ::v-deep >>> 深度选择器
    雪碧图优缺点
    自适应高度文本框 react contenteditable
    textarea 高度自适应
    UMI.js开发知识总结
    flex布局下img图片变形的解决方法
    umi model 注册
    HEVC标准介绍
    《推荐系统》阅读笔记
    互联网名词诙谐解释
  • 原文地址:https://www.cnblogs.com/25-lH/p/10362981.html
Copyright © 2011-2022 走看看