mongo shell 是 MongoDB的交互式 JavaScript 接口. 你可使用 mongo shell 查询和更新数据以及执行管理操做. mongodb
mongo shell 是 MongoDB 发行版的一个组件. 一旦你已经安装而且启动了 MongoDB. 链接 mongo shell 到你运行的 MongoDB 实例. 在 MongoDB 手册的大部分示例都是使用 mongo shell; 然而, 许多驱动程序为 MongoDB 提供了相似的接口.shell
mongo
Shell重要:
在尝试运行 mongo shell 以前, 确保 MongoDB 正在运行.数据库
启动 mongo shell, 并使用默认端口(port)链接到本地(localhost)正在运行 MongoDB 实例.json
在终端窗口的提示下(或者 Windows 的命令符), 转到你的<mongodb installation dir>:segmentfault
cd <mongodb installation dir>
输入 ./bin/mongo
来启动 mongo:app
./bin/mongo
若是你已经将 <mongodb installation dir>/bin 添加到 PATH 环境变量, 你只须要输入 mongo
而不是 ./bin/mongo
.ui
当你不带任何参数运行 mongo, mongo shell 将会尝试链接在本地运行的端口为27017的 MongoDB 实例. 指定不一样的主机或者端口号, 以及其它选项, 请参阅启动 mongo 的示例 和 mongo 参考, 其中提供了可用选项的详细信息.命令行
.mongorc.js
文件当启动时, mongo 会检查用户的家目录是否存在一个名为 .mongorc.js 的 JavaScript 文件. 若是找到, mongo 会在第一次显式提示以前解析 .mongorc.js 的内容. 若是你想使用 shell 来解析一个 JavaScript 文件或者表达式, 不如在命令行使用 --eval 选项或者为 mongo 指定一个 .js 文件, mongo 将会在 JavaScript 完成处理以后读取 .mongorc.js 文件. 你可使用 --norc 选项来防止加载 .mongorc.js.code
mongo
Shell要显示你正在使用的数据库, 输入 db
:接口
db
操做应该返回 test
, 这是默认的数据库. 要切换数据库, 执行 use <db>
, 如如下示例:
use <database>
列出可用的数据库, 使用 show dbs
. 请参阅 db.getSiblingDB() 方法从当前的数据库访问一个不一样的数据, 而不切换你的当前数据库的上下文(即 db).
你也能够切换到不存在的数据库. 当你数据库第一次存储数据时, 例如经过建立集合, MongoDB 会建立数据库. 例如, 下面在 insert() 操做期间, 会建立 myNewDatabase 数据库和 myCollection 集合.
use myNewDatabase db.myCollection.insert( { x: 1 } );
db.myCollection.insert() 是 mongo shell 中可用的方法之一.
db 引用当前的数据库.
myCollection 是集合的名字.
若是 mongo shell 不接受集合的名称. 例如, 若是名称包含空格, 连字符或者数字开头, 你可使用另一个语法去建立集合, 好比这样:
db["3test"].find() db.getCollection("3test").find()
有关 mongo shell 中的基础 MongoDB 操做的更多文档, 请参阅:
db.collection.find() 返回一个游标给结果; 然而, 在 mongo shell 中, 若是返回的游标没有分配给使用 var 关键字定义的变量. 而后游标会自动迭代20次, 以便输出匹配查询的前20个文档. mongo shell 会提示 Type it 再迭代20次.
格式化输出结果, 你能够添加 .pretty() 到操做上, 就像下面这样:
db.myCollection.find().pretty()
此外, 你能够在 mongo shell 使用下列显式打印方法:
print()
非格式化打印
print(tojson(<obj>))
JSON 格式打印并等效于 printjson()
printjson()
JSON 格式化输出并等效于 print(tojson(<obj>))
有关在 mongo shell 中使用游标的更多信息和示例, 请参阅在 mongo shell 中迭代游标. 一样也能够在 mongo shell 中使用游标帮助获取游标帮助列表.
若是你用一个左括号括起来一行 ('('), 一个左大括号 ('{'), 或中括号 ('['), 而后后面的行都会以省略号开头 ("..."), 直到输入响应的右括号 (')'), 右大括号 ('}') 或者右中括号 (']'), 在解析代码以前, mongo shell 会一直等待右括号, 右大括号或者右中括号, 以下所示:
> if ( x > 0 ) { ... count++; ... print (x); ... }
若是你输入两行空行, 你能够退出行连续模式, 以下所示:
> if (x > 0 ... ... >
mongo shell 支持键盘快捷键. 例如:
使用 ↑/↓ 箭头键滚动命令历史记录. 请在 .dbshell 文件参阅 .dbshell 文档获取更多信息.
使用 <Tab> 自动完成或者列出可自动完成的命令列表, 以下所示, 使用 <Tab> 来完成以字母 'c' 开头的方法名称.
db.myCollection.c<Tab>
由于有不少 collection(集合) 方法以字母 "c" 开头, <Tab> 将会列出以 "c" 开头的各类方法.
有关快捷键的完整列表, 请参阅 Shell 键盘快捷键.
要退出 shell, 输入 quit()
或者使用Ctrl + C快捷方式.
参见:
下一章: https://segmentfault.com/a/11...
原文地址: https://docs.mongodb.com/manu...