MongoDB文档翻译-mongo Shell

来源:互联网 发布:普莱斯眼镜怎么样 知乎 编辑:程序博客网 时间:2024/05/27 01:45

说明:英文原文地址:https://docs.mongodb.com/v3.2/mongo/。
本文章属个人翻译,作个人学习之用,如有雷同,纯属巧合。如有错误之处,欢迎指正。

mongo Shell

介绍

mongoshell是MongoDB的交互式javascript界面。可用使用mongo shell来查询和更新数据,当然可也可执行管理操作。

mongoshell是MongoDB发布的组件之一。一旦安装并启动MongoDB,可用用mongoshell连接到你运行的MongoDB实例。

MongoDB手册中的大部分例子都是使用mongoshell的,很多驱动对MongoDB提供了类似的界面。

启动mongo Shell

重要提示:

启动mongoshell前请确保MongoDB已经运行。

要启动mongoshell并连接到运行在localhost默认端口的MongoDB实例:

    1. 在终端中,切换到你的mongodb安装目录

      cd mongodb安装目录
    2. 输入 ./bin/mongo 启动mongo

      ./bin/mongo

      如果你已经把mongodb安装目录/bin添加到PATH环境变量,只需输入mongo即可,而不用./bin/mongo

选项

当不用任何参数运行mongo时,mongoshell会试图连接到运行在本地,监听27017端口的MongoDB实例。要指定不同的主机或端口号,或者其它选项,请参考启动mongo示例mongo参考,它们提供了可用选项的详细信息。

.mongorc.js 文件

mongo启动时,会在用户的HOME目录中检查一个名为.mongorc.js的javascript文件,如果找到了,在第一次显示提示之前,mongo会解释.mongorc.js文件的内容。如果你用mongoshell来执行javascript文件或者表达式,在命令行中使用--eval选项,或者给mongo指定一个.js文件,mongo shell将会处理完javascript后读取.mongorc.js文件并执行。可以用--norc选项来禁止.mongorc.js执行。

使用mongo Shell工作

要显示正在使用的数据库,用:

db

该操作应该返回test,它是默认的数据库。要切换数据库,用use <db>,如下:

use <database>

要列出可用的数据库,用show dbsdb.getSiblingDB()可用列出当前数据库之外的其它数据库,同时不会铁环你的当前数据库上下文。

你可以切换到一个不存在的数据库。当第一次在该数据库中存储数据时,如创建一个集合,MongoDB会创建该数据库。如,以下代码在insert()操作时同时创建了数据库myNewDatabase和集合myCollection

use myNewDatabasedb.myCollection.insert( { x: 1 } );

db.myCollection.insert()mongoshell中可用的方法之一。

  • db指向当前数据库
  • myCollection是集合的名字

如果mongoshell不接受集合的名字,例如,名字包含空格,短横线,或者以数字开头,你可以用另一种语法来指代集合,如:

db["3test"].find()db.getCollection("3test").find()

格式化打印结果

db.collection.find()返回结果的游标,然而,在mongoshell中,如果游标没有赋值给用var定义的变量,游标会自动迭代20次直到终止,打印结果中前20个文档。mongoshell会提示Type it以迭代另一个20次。

要格式化打印结果,可用添加.pretty()到操作后面,如:

db.myCollection.find().pretty()

此外,你可以在mongoshell中用如下显示的打印方法:

  • print(),非格式化打印
  • print(tojson(<obj>)),打印JSON格式化后的数据,等价于printjson()
  • printjson(),打印JSON格式化后的数据,等价于print(tojson(<obj>))

欲知更多关于mongoshell中处理游标的信息和例子,请查阅在mongo Shell中迭代游标。参考游标帮助以从mongoshell中查看游标帮助列表。

mongo Shell中的多行操作

如果用左圆括号'(',左大括号'{',或左方括号'['作为一行的结尾,后续的行就会一省略号"..."开头,直到你输入相应的右圆括号'}',右大括号'}'或右方括号']'。在执行代码前,mongoshell会等待这些括号的闭合。如下:

> if ( x > 0 ) {... count++;... print (x);... }

连续输入两个空行可退出连续模式,如下:

> if (x > 0......>

Tab补全其它键盘快捷键

mongoshell支持键盘快捷键

  • 可以用上下方向按键在命令历史中滚动。参考.dbshell以获得更多关于.dbshell文件的信息。

  • Tab键来自动完成或者列出可能的补全项,下面的例子用Tab键来补全以字母'c'开头的方法名:

    db.myCollection.c<Tab>

    ​ 由于有很多以字母'c'开头的集合方法,Tab操作将会列出以'c'开头的一系列方法。

至于完整的快捷方法列表,请移步Shell键盘快捷键

退出Shell

要退出shell,输入quit()或用<Ctrl+C>快捷键。

0 0
原创粉丝点击