一:基本操作

  - 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)

-

《mongoDB》基本操作-创建/更新/删除文档的更多相关文章

  1. MongoDB(二)创建更新删除文档

    插入并保存文档操作 用insert向目标集合插入文档,如果没有_id键则会自动添加.最后自动保存. >db.foo.insert({"bar":"baz" ...

  2. MongoDB创建\更新\删除文档操作

     一.插入\创建文档 --当插入一个不存在的文档时,会自己主动创建一个文档 [root@racdb ~]# mongo MongoDB shell version: 2.4.14 connecti ...

  3. 2.MongoDB系列之创建更新删除文档

    1. 插入文档 // 单条插入 db.getCollection('blog').insertOne({'type': 'mongodb'}) // 批量 插入 db.getCollection('b ...

  4. sharepoint中的Power Shell命令创建、删除文档库列表

    ListTemplateType 枚举: 自定义列表-GenericList.文档库-DocumentLibrary.图片库-PictureLibrary.公告-Announcements.联系人-C ...

  5. MongoDB(五):更新文档、删除文档

    1. 更新文档 MongoDB的uptade()和save()方法用于将集合中的文档更新.update()方法更新现有文档中的值,而save()方法是传递文档数据替换现有文档.从3.2版本开始,Mon ...

  6. MongoDB学习笔记二:创建、更新及删除文档

    插入并保存文档 对目标集使用insert方法插入一个文档: > db.foo.insert({"bar" : "baz"}) 这个操作会给文档增加一个&q ...

  7. MongoDB学习笔记-创建、更新、删除文档

    创建     MongoDB中使用insert方法来向集合插入文档,然后保存到MongoDB中.     db.foo.insert({"hehe":"呵呵"} ...

  8. Mongodb 笔记02 创建、更新和删除文档

    创建.更新和删除文档          1. 插入并保存: 1). 单条插入,insert : db.foo.insert({"bar":"baz"}) 2). ...

  9. 创建、更新、删除文档。 --- Mongodb权威指南阅读。

    插入文档: db.foo.insert({ "key" : "value"}); 使用insert插入一个数据,文档中如果没有_id 会自动给文档增加_id. ...

随机推荐

  1. 【转】SAP BW 顾问靠手 — SAP中的例程

    什么是例程(Routine)? 例程就是我们可以自己定义的程序代码.通过程序代码来完成我们的需求,因为业务是千变万化,如果想让产品能跟随上业务的脚步,就必须要有非常灵活的功能来补充.大家都知道软件产品 ...

  2. 从git上check out指定的文件夹至本地

    当项目过大时,从服务器上拉取项目是件很头疼的事情,那么就说说怎么只拉区某个或几个文件夹至本地. git clone -n git@172.0.0.10:test/test_platform.git c ...

  3. talk 1

    话转偏锋 让别人可以接话, 同时可以设计转换到的话题, 把"谈话带到正确的轨道", 就像下象棋一样, 要看三步 A: 很喜欢看篮球比赛, 对B说 我每次都堵湖人队会赢 B: 篮球最 ...

  4. ABBYY OCR技术教电脑阅读缅甸语(上)

    缅甸联邦共和国,原名缅甸,是东南亚的一个国家,从1962年到2010年,缅甸一直被政变后上台的军政府统治,直至最近5年它才对外界开放,与其他国家建立了贸易与文化联系. 缅甸语由很多方言组成,但所有方言 ...

  5. Java使用SFTP协议上传、下载文件

    http://blog.csdn.net/haidage/article/details/6859716 在自己尝试之后发现以上内容里有坑. 1.关闭连接的时候,必须要sftp.getSession( ...

  6. html5游戏开发-简单tiger机

    http://blog.csdn.net/lufy_legend/article/details/7021965

  7. Linux命令行下常用的快捷键

    ctrl+a:光标移到行首.ctrl+e:光标移到行尾.ctrl+b:光标左移一个字母ctrl+f:光标右移一个字母 ctrl+h:删除光标前一个字符,同 backspace 键相同.ctrl+d:删 ...

  8. [Bayes] Improve HMM step by step

    以下是HMM,当emission probability变为高斯时,只需改变其中相关部分即可,也就是下图最后一行. 如下可见,在优化过程中套路没有太大的影响,但变为高斯后表达变得更精确了呢. 当然,这 ...

  9. [React] 11 - Redux: redux

    Ref: Redux中文文档 Ref: React 讀書會 - B團 - Level 19 Redux 深入淺出 Ref: React+Redux 分享會 Ruan Yifeng, Redux 架构: ...

  10. CentOS6.x 升级到 CentOS7.x(测试)

    博文来源:http://leyewen.blog.163.com/   官方升级教程:http://wiki.centos.org/TipsAndTricks/CentOSUpgradeTool   ...