设为首页 收藏本站
查看: 1084|回复: 0

[经验分享] MongoDB命令使用示例

[复制链接]

尚未签到

发表于 2015-7-10 07:39:42 | 显示全部楼层 |阅读模式
  用图书的示例来说明一下mongodb命令的使用。
添加
  插入一个图书文档:
  db.books.insert({name:’深入学习MongoDB’});
  然后,可以看一下是否插入成功了:
  db.books.find();
  打印的结果类似这样:
  { “_id” : ObjectId(“4f8e8a8e7a919fd8a1a37e2d”), “name” : “深入学习MongoDB” }
  好了,现在不想要这条记录了,删除掉:
  db.books.remove();
  再次使用find(),就不会打印内容了。这里要注意,remove()将删除集合中所有文档。如何删除指定条件的文档,后面再说。
修改
  再次创建一个图书文档:
  db.books.insert({name:’钱的历史’,items:[]});
  这里我增加了一个空数组,后面有用。
  现在我要将图书名称(name)改为:深入学习MongoDB。
  命令:
  db.books.update({_id:ObjectId(“4f8e8a8e7a919fd8a1a37e2d”)},{name:’深入学习MongoDB’},false);
  上述命令的缺点是,items属性没有了。如果只想修改图书的名称,而不影响文档的其他属性,可以这样:
  db.books.update({_id:ObjectId(“4f8ea9a619bc948142e0dad5″)},{$set:{name:’Deep in MongoDB’}},false);
  现在,我想往空数组里添加一些东西,比如,一个条目:
  {_id:ObjectId, type:’chapter’,items:[]}
  那么,命令如下:
  db.books.update({_id:ObjectId(’4f8ea9a619bc948142e0dad5′)},{$push:{items:{_id:new ObjectId(),type:’chapter’,items:[]}}},false);
  看一下显示的结果:
  {
“_id” : ObjectId(“4f8ea9a619bc948142e0dad5″),
“items” : [
{
"_id" : ObjectId("4f8eaf227a919fd8a1a37e2e"),
"type" : "chapter",
"items" : [ ]
}
],
“name” : “野外维生食物”
}
  现在我们想在4f8eaf227a919fd8a1a37e2e的条目的数组中加入内容,怎么做呢?要用到push,它可以向指定的数组追加元素:
  db.books.update({_id:ObjectId(’4f8ea9a619bc948142e0dad5′)},{$push:{items:{_id:new ObjectId(),type:’chapter’,items:[]}}},false);
  现在我又发现追加的元素的type值错了,想改成section:
  db.books.update({_id:ObjectId(“4f8ea9a619bc948142e0dad5″),’items._id’:ObjectId(“4f8ef10b7a919fd8a1a37e32″)},{$set:{‘items.$.type’:'section’}},false);
  我是否能在items的元素的items数组中再追加元素呢?答案是肯定的:
  db.books.update({_id:ObjectId(“4f8ea9a619bc948142e0dad5″),’items._id’:ObjectId(“4f8ef10b7a919fd8a1a37e32″)},{$push:{‘items.$.items’:{_id:new ObjectId(),type:’section’,items:[]}}},false);
  追加后的结果类似这样:
  {
“_id” : ObjectId(“4f8ea9a619bc948142e0dad5″),
“items” : [
{
"_id" : ObjectId("4f8ef10b7a919fd8a1a37e32"),
"items" : [
{
"_id" : ObjectId("4f8ef4d17a919fd8a1a37e33"),
"type" : "section",
"items" : [ ]
}
],
“type” : “chapter”
}
]
}
  
删除
  如果文档添加了不该有的属性,想删除,比如:
  db.books.update({_id:ObjectId(’4f8e8a8e7a919fd8a1a37e2d’)},{$push:{hello:’test1′}},false);
  为文档增加了一个没用的属性,he l lo,这是个数组。
  删除它:
  db.books.update({_id:ObjectId(’4f8e8a8e7a919fd8a1a37e2d’)},{$unset:{hello:1}},false);

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-84940-1-1.html 上篇帖子: MongoDB 学习笔记一 下篇帖子: Mongodb集群节点故障恢复场景分析
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表