代码改变世界

MongoDB学习(三):MongoDB Shell的使用

2013-04-30 17:52  Hejin.Wong  阅读(11139)  评论(0编辑  收藏  举报

  本文地址http://www.cnblogs.com/egger/archive/2013/04/30/3052142.html 欢迎转载 ,请保留此链接๑•́ ₃•̀๑!

MongoDB shell

  MongoDB自带简洁但功能强大的JavaScript shell。JavaScript shell键入一个变量会将变量的值转换为字符串打印到控制台上。

  下面介绍基本的操作,一些注意事项。数据库CRUD操作将在下面的篇幅中介绍《NoSQL学习之路 (四):创建、读取、更新、删除(CRUD)

  打开命令提示(cmd.exe)。进入到MongoDB解压的目录的bin目录下,即D:\NoSQL\mongodb-win32-x86_64-2.4.3\bin;然后执行mongo.exe(或者mongo)启动MongoDB shell。

  

  shell默认连接test数据库。要使用别的数据库,在服务器地址后添加斜杠和数据库名就可以了(下图连接的就是本地默认端口的mongod,但用的是admin数据库):  

  

  还有一种方法选择连接数据库,像SQL shell中一样,使用 "use databaseName",数据库不存在也没关系。使用"db"查看当前连接数据库名词。

  

 

  使用--nodb选项启动shell,而不连接数据库。

  

 

  Tips:使用ctrl+w 快速删除光标所在行内容。

  使用db.help()可以查看数据库级别的命令的帮助,集合的相关帮助可以通过db.foo.help()来査看

  有个了解函数功用的技巧,就是在输入的时候不要输括号。这样就会显示该函数的JavaScript源代码。下面我们看看remove的机制:

  

 

  使用db.集合名的方式来访问集合一般不会有问题,但如果集合名恰好是数据库类的一个属性时就不行了。当JavaScript只有在db中找不到指定的属性时,才会将其作为集合返回。当有属性
与目标集合同名时,可以使用getCollection函数。

  例如,要访问version这个集合。因为db.version是个数据库函数(它返回正在运行的MongoDB服务器的版本)。所以输入db.version会显示该函数的JavaScript源代码,而不是我们想显示的集合。
  

 

  当我们遍历集合众文档信息时,可以书用"."操作符。

Show(db.posts.title);
Show(db.posts.content);
……

 

  也可以使用数组访问形式来访问子集合:

collections=["title","author","content","date"];
for (i in collections) {
  Show(db.posts[collections[i]]);
}



 

JavaScript解释器

  shell是功能完本的JavaScript解释器 可以运行任何JavaScript程序.

  基本运算:

  

  调用Javascript标准库或者函数:

  

 

  从shell中可以连接任意多个数据库,这对多个服务器的环境还是非常方便的。调用connect (),并将结果赋值给变量。

  (分片环境中待补充----)