mongo shell教程

mongo shell是MongoDB的交互式JavaScript接口,你可以使用mongo shell查询和更新数据以及执行管理操作。

启动mongo shell并连接MongoDB

在启动mongo shell之前,必须确保你的MongoDB已经运行。接着cd到mongodb安装目录下的bin目录中。例如:

cd <mongodb installtion dir>/bin

如果你已经将上面的目录添加到你的PATH环境变量中,那么就可以不用cd到该目录下。任何一个位置都可以启动mongo shell。

默认端口上的本地MongoDB实例

你可以在没有任何命令行选项的情况下运行mongo shell,以使用默认端口27017连接到localhost上,运行Mongodb实例。

mongo
非默认端口上的本地MongoDB实例

使用--port命令行选项来显示指定端口,例如,使用非默认端口28015连接到localhost上,运行MongoDB实例。

mongo --port 28015
远程主机上的MongoDB实例

1.使用连接字符串
连接字符串形式如:mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]。其中mongod是必须的前缀,用来表示标准的连接形式。

mongo mongodb://mongodb0.example.com:28015

2.使用命令行

mongo --host mongodb0.example.com:28015

也可以将上面的端口号通过--port指定,例如:

mongo --host mongodb0.example.com --port 28015
MongoDB实例的鉴权

你可以在连接字符串中指定用户名,身份验证数据库和可选的密码。但是如果你不在连接字符串中明确密码,那么shell会提示你输入密码。例如:

mongo --host mongodb://alice@mongodb0.examples.com:28015/?authSource=admin

同样,你也可以使用--username <user>--password--authenticationDatabase <db>选项来分别定义用户名,密码,连接的数据库等。

mongo --username alice --password --authenticationDatabase admin --host mongodb0.examples.com --port 28015

使用mongo shell

使用命令show dbs查看所有可用数据库。显示你正在使用的数据库,输入db。例如db。结果会返回test,这是一个默认数据库。要切换数据库,使用use <db>,例如:use <database>。你也可以切换到一个不存在的数据库,当你第一次在数据库中存储数据时,例如创建一个集合,MongoDB将会创建这个数据库。
例如命令db.myCollection.insertOne()db表示当前的数据库,myCollection表示集合名字。如果你的集合名字含有空格、破折号、以数字开始等与内建函数冲突,那么你可以使用db.getCollection("my Collection").insertOne()

格式化打印结果

例如db.collection.find()返回的结果,如果多于20条记录,那么它每次只返回20个。键入enter,可以再迭代。格式化打印结果,你可以添加.pretty()。例如:

db.myCollection.find().pretty()

mongo shell多行操作

如果你用一个左括号(,一个大括号{或一个开括号[来结束一行,那么后续的行会以省略号...开头,知道你输入相应的右括号,右开括号,右开括号。如下例所示:

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

如果你输入两个空行,则可以退出继续模式。例如:

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

退出mongo shell

使用quit()或者ctrl+c

参考文章:

  1. The mongo Shell
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值