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

[经验分享] MongoDB入门三:MongoDB shell

[复制链接]

尚未签到

发表于 2015-7-6 01:10:14 | 显示全部楼层 |阅读模式
MongoDB shell
  MongDB shell是一个功能完备的Javascript解释器,可以运行Javascript程序。也可以用于连接MongoDB服务器,执行脚本,对数据库进行操作。类似于SQL Server的管理工具SSMS。
  可以通过以下2条命令打开shell控制台:



> cd C:\Program Files\MongoDB 2.6 Standard\bin
> mongo
  如图所示:
DSC0000.png
  C:\Program Files\MongoDB 2.6 Standard 是MongoDB的安装目录。
  在打开shell控制台之前请确保MongoDB服务已启动,如何启动MongoDB可以参考MongoDB入门一:安装与配置。

MongoDB shell基本操作

1.添加



> db.blog.insert({"title":"aaa","content":"123","date":new Date()})

  添加一条数据使用insert方法,MongoDB会隐式地创建集合blog。如果添加的文档比较复杂,也可以先声明再添加,例如:



> post = {"title":"aaa",
"content":"123",
"author":"Ming Li",
"summary":"This article focuses on Asp.net MVC.",
"date":new Date()
}
> db.blog.insert(post)

2.查询
  不带参数的find方法会返回集合里面所有的文档,shell只显示20条。若只是想查看一条数据可以使用findOne方法,不带参数的findOne会返回当前集合中的第一条数据。
  findOne方法有一个带参数的重载,参数类型是文档,类似于find的带参数的用法。如果查询不到数据,findOne会返回null,如果查询到了多条数据,findOne会返回第一条。



> db.blog.find()
> db.blog.findOne()

  如果想查询集合blog中title为"aaa"的文档,可以给find或findOne添加参数:



> db.blog.find({"title":"aaa"}) //可能会返回多条
> db.blog.findOne({"title":"aaa"}) //只返回1条,如果查询不到数据,则返回null,这多么类似于.net中的FirstOrDefault方法
  MongoDB还可以进行更为复杂的查询,这里只做简单介绍。

3.修改
  修改使用update方法,update是一个至少有2个参数的方法。
  假如集合book下有如下文档:



{"_id":11,"item":"长安乱","publisher":"春风文艺出版社","author":"韩寒","price":20}

  要修改书的价格为19可以使用下面的命令:



> db.book.update({"_id":11},{"price":19})

  如果想给它增加属性呢?假如我要使价格提高10,并且增加一个stock属性,其值为5,可以使用下面的命令:



> db.book.update(
{"_id":11},
{
$.set:{stock:5},
$.inc:{price:10}
}
)

  修改之后的文档:



{"_id":11,"item":"长安乱","publisher":"春风文艺出版社","author":"韩寒","price":29,"stock":5}

  MongoDB还可以进行更为复杂的修改操作,这里只做简单介绍。

4.删除
  remove用来从数据库中永久性地删除文档。在不使用任何参数的情况下,它会删除集合内的所有文档。它也可以接受一个文档类型的参数以限定条件。
  例如下面的命令会删除blog中title为aaa的文档:



> db.blog.remove({"title":"aaa"})

shell的其他常用命令
  1.查看db下的所有命令或方法



> db.help()
  2.切换到数据库test,如果test不存在会自动创建



> use test

  3.删除当前连接的数据库



> db.dropDatabase() //请谨慎操作

  4.查询本地所有数据库名称



> show dbs

  5.查询当前数据库下的所有集合



show collections

  6.查询当前集合下的文档个数



db.collection.count() //示例:db.blog.count()
  7.删除某一个collection



db.collectionName.drop() //请谨慎操作

运维网声明 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-83434-1-1.html 上篇帖子: 在MongoDB中实现聚合函数 下篇帖子: MongoDB源码概述——日志
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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