1. Mongo存储的单位是文档,文档是js对象,
  2. use test2
  3. db.createCollection("stu")//隐士创建库显示创建表
  4. db.stu.insert({sn:001,name:"xiaoming"})
  5. db.stu.find()
  6.  
  7. use test2
  8. db.stu.insert({sn:001,name:"xiaoming"})//隐士创建库和表
  9. db.stu.find()
  10.  
  11. Id是自动生成的,但是_id可以手动指定
  12. Db.collectionName.insert({_id:12,age:78,name:’lisi’});
  13.  
  14. 增加多个文档
  15. use test2
  16. db.stu.insert(
  17. [
  18. {_id:12,sn:001,name:"xiaoming1"},
  19. {_id:13,sn:002,name:"xiaoming2"},
  20. {_id:14,sn:003,name:"xiaoming3"},
  21. {sn:004,name:"xiaoming4"},
  22. {sn:005,name:"xiaoming4"},
  23. {sn:006,name:"xiaoming4"},
  24. {sn:007,name:"xiaoming4"},
  25. {sn:0022,name:"xiaoming4"},
  26.  
  27. ])
  28. db.stu.find():
  29. { "_id" : 12, "sn" : 1, "name" : "xiaoming1" }
  30. { "_id" : 13, "sn" : 2, "name" : "xiaoming2" }
  31. { "_id" : 14, "sn" : 3, "name" : "xiaoming3" }
  32. { "_id" : ObjectId("5a449e1483c2d5efb2d581e4"), "sn" : 4, "name" : "xiaoming4" }
  33.  
  34. 删:remove
  35. 语法: db.collection.remove(查询表达式, 选项);
  36. use test2
  37. db.stu.remove(
  38. {"sn":2}
  39. )
  40. db.stu.find()
  41. 选项是指 {justOne:true/false},是否只删一行, 默认为false
  42.  
  43. 注意
  44. 1: 查询表达式依然是个json对象
  45. 2: 查询表达式匹配的行,将被删掉.
  46. 3: 如果不写查询表达式,collections中的所有文档将被删掉.
  47.  
  48. 1: db.stu.remove({sn:’001’});
  49. 删除stu表中 sn属性值为’001’的文档
  50. 2: db.stu.remove({gender:’m’,true});
  51. 删除stu表中gender属性为m的文档,只删除1行.
  52.  
  53. update操作
  54. 改谁? --- 查询表达式
  55. 改成什么样? -- 新值 赋值表达式
  56. 操作选项 ----- 可选参数
  57.  
  58. 语法: db.collection.update(查询表达式,新值,选项);
  59. 例:
  60. db.news.update({name:'QQ'},{name:'MSN'});
  61. 是指选中news表中,name值为QQ的文档,并把其文档值改为{name:’MSN’},
  62. 结果: 文档中的其他列也不见了,改后只有_idname列了.
  63. 即--新文档直接替换了旧文档,而不是修改
  64.  
  65. 如果是想修改文档的某列,可以用$set关键字
  66. db.collectionName.update(query,{$set:{name:’QQ’}})
  67.  
  68. 修改时的赋值表达式
  69. $set 修改某列的值
  70. $unset 删除某个列
  71. $rename 重命名某个列
  72. $inc 增长某个列
  73. use test2
  74. db.wk.insert( //全部是json格式
  75. {
  76. name:'悟空',
  77. jinggu:true,
  78. sex:'m',
  79. age:500
  80. }
  81. )
  82. db.wk.find():
  83. {
  84. "_id" : ObjectId("5a44a74d83c2d5efb2d5820b"),
  85. "name" : "悟空",
  86. "jinggu" : true,
  87. "sex" : "m",
  88. "age" : 500.0
  89. }
  90. db.wk.update(
  91. {name:"悟空"},
  92. {
  93. $set:{name:"都战胜"},
  94. $unset:{jinggu:1},
  95. $rename:{sex:”gender”},
  96. $inc:{age:19}
  97. },
  98. {upsert:true}, //插入‘都战胜’
  99. {multi:true},
  100. )
  101. db.wk.find()
  102. {
  103. "_id" : ObjectId("5a44a74d83c2d5efb2d5820b"),
  104. "name" : "都战胜",
  105. "age" : 519.0,
  106. "gender" : "m"
  107. }
  108.  
  109. $setOnInsert upserttrue时,并且发生了insert操作时,可以补充的字段.
  110.  
  111. Option的作用:
  112. {upsert:true/false,multi:true/false}
  113. Upsert---是指没有匹配的行,则直接插入该行.(和mysql中的replace一样)
  114.  
  115. 例:db.stu.update({name:'wuyong'},{$set:{name:'junshiwuyong'}},{upsert:true});
  116. 如果有name=’wuyong’的文档,将被修改
  117. 如果没有,将添加此新文档
  118.  
  119. 例:
  120. db.news.update({_id:99},{x:123,y:234},{upsert:true});
  121. 没有_id=99的文档被修改,因此直接插入该文档
  122.  
  123. multi: 是指修改多行(即使查询表达式命中多行,默认也只改1行,如果想改多行,可以用此选项)
  124. 例:
  125. db.news.update({age:21},{$set:{age:22}},{multi:true});
  126. 则把news中所有age=21的文档,都修改
  127.  
  128. 查: find, findOne
  129. 语法: db.collection.find(查询表达式,查询的列);
  130. Db.collections.find(表达式,{列1:1,列2:1});
  131.  
  132. 1:db.stu.find()
  133. 查询所有文档 所有内容
  134.  
  135. 2: db.stu.find({},{gendre:1})
  136. 查询所有文档,的gender属性 (_id属性默认总是查出来)
  137. > db.wk.find({},{age:1})
  138. { "_id" : ObjectId("5a44a74d83c2d5efb2d5820b"), "age" : 576 }
  139. { "_id" : ObjectId("5a44ae6846de25cd7e79c5f4"), "age" : 19 }
  140. { "_id" : ObjectId("5a44ae7646de25cd7e79c5f9"), "age" : 19 }
  141. { "_id" : ObjectId("5a44af5a46de25cd7e79c61a"), "age" : 20056 }
  142.  
  143. 3: db.stu.find({},{gender:1, _id:0})
  144. 查询所有文档的gender属性,且不查询_id属性
  145. 3: db.stu.find({gender:’male’},{name:1,_id:0});
  146. 查询所有gender属性值为male的文档中的name属性

mongo03的更多相关文章

  1. Mongo--03 mongo副本集、备份与恢复

    目录 一.mongo副本集配置 二.查看副本集状态 三.副本集权重调整 四.创建节点 五.仲裁节点 六.mongo备份与恢复 七.准备测试数据 一.mongo副本集配置 1.创建节点目录和数据目录 # ...

  2. mongodb集群配置副本集

    测试环境 操作系统:CentOS 7.2 最小化安装 主服务器IP地址:192.168.197.21 mongo01 从服务器IP地址:192.168.197.22 mongo02 从服务器IP地址: ...

  3. mongodb集群配置分片集群

    测试环境 操作系统:CentOS 7.2 最小化安装 主服务器IP地址:192.168.197.21 mongo01 从服务器IP地址:192.168.197.22 mongo02 从服务器IP地址: ...

  4. 快速掌握mongoDB(五)——读写分离的副本集实现和Sharing介绍

    1 mongoDB副本集 1 副本集简介 前边我们介绍都是单机MongoDB的使用,在实际开发中很少会用单机MongoDB,因为使用单机会有数据丢失的风险,同时单台服务器无法做到高可用性(即当服务器宕 ...

  5. 009.MongoDB分片群集部署

    一 前期准备 1.1 组件说明 MongoDB分片群集包含以下组件: shard:每个分片是分片数据的子集.从MongoDB 3.6开始,必须将分片部署为副本集. mongos:mongos充当查询路 ...

随机推荐

  1. 【dfs+理解题意+构造】【待重做】codeforces E. Ice cream coloring

    http://codeforces.com/contest/805/problem/E [题意] 染色数是很好确定,最少染色数是max(si)(最小为1,即使所有的si都为0,这样是单节点树形成的森林 ...

  2. MTK android 重启测试脚本

    @echo off set reboot_time=0 :start call adb -s 0123456789ABCDEF reboot set DATESTAMP=%DATE% set TIME ...

  3. 【HDOJ6324】Grab The Tree(博弈)

    题意: 思路: #include <stdio.h> #include <vector> #include <algorithm> #include <str ...

  4. excludepathpatterns 无效

    踩坑了,调了好久才调出来. 原因:  访问的API /XXX 已经转换为 /error 了.  把“/error” 也加入 excludepathpatterns 里面即可.

  5. ZOJ 3471 【状态压缩DP】

    题意: 有n种化学物质,他们彼此反应会有一种消失并释放出能量. 给出矩阵,第i行j列代表i和j反应j消失释放的能量. 求最大释放多少能量. 思路: 状态压缩DP,我是这么想的. 利用二进制0代表该物质 ...

  6. 七天从零基础学习android(1)--配置环境

    在写这篇文的时候android开发经验还是0,是一个萌新,这是一篇记录一个萌新从零android编程基础到能编写一个记账本的开发过程(至少我是这样美好的希望着的) 首先因为是没有开发基础的,直接上百度 ...

  7. java多线程编程01---------基本概念

    一. java多线程编程基本概念--------基本概念 java多线程可以说是java基础中相对较难的部分,尤其是对于小白,次一系列文章的将会对多线程编程及其原理进行介绍,希望对正在多线程中碰壁的小 ...

  8. 从Java代码到字节码

    http://www.importnew.com/13107.html http://blog.csdn.net/dc_726/article/details/7944154/ http://www. ...

  9. C# DataGridView,右键单击RowHeader时显示右键菜单怎么做?

        private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)         {       ...

  10. django 简易博客开发 2 模板和数据查询

    首先还是贴一下项目地址  https://github.com/goodspeedcheng/sblog   因为代码全在上面 上一篇博客我们介绍了 django的安装配置,新建project,新建a ...