The mongo Shell入门

MongoDB自带一个交互式的JavaScript Shell。我们可以使用mongo shell查询和更新数据,并执行管理操作。
mongo shell是mongodb发行版的一个组件。安装并启动mongodb后,将mongo shell连接到正在运行的mongodb实例。

启动mongo shell并连接到mongodb

准备

shell会在启动时自动连接mongoDB服务器,所以请确保在启动mongoDB shell之前,确保mongod已经启动

打开终端窗口(或Windows命令提示),转到< mongodb 安装目录>/bin目录:

cd <mongodb installation dir>/bin

备注:可以将/bin导入环境变量,这样你直接输入mongodb就可以进入shell命令行

默认端口上的本地MongoDB实例

直接输入mongo,这样会默认链接到本地主机上端口27017上运行的mongoDB实例

$ mongo

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

要显式指定端口,请包括–port命令行选项。

$ mongo --port 28015

远程主机上的MongoDB实例

三种方法。

$ mongo mongodb://127.0.0.1:27017
$ mongo --host 127.0.0.1:27017
$ mongo --host 127.0.0.1 --port 27017

把上面的127.0.0.1换成你的远程ip地址,27017换成端口就可以了


中间这一段我现在用不到

扫描二维码关注公众号,回复: 5614995 查看本文章

使用shell

要显示正在使用的数据库

> db
test  --test 是默认数据库

备注:shell时一个独立的mongoDB客户端,开启的时候,shell会连到mongoDB服务器的test数据库,并将这个数据库连接赋值到全局变量db。这个变量时通过shell访问MongoDB的主要入口点。
备注:因为这是一个JaveScript Shell,所以键入一个变量会将变量的值转换为字符串并打印出来。
备注:可以通过db变量来访问其中的集合

当前用户可用的数据库

> show dbs;
admin   0.000GB
config  0.000GB
local   0.000GB

备注:

  • admin:从权限的角度来看,这是root数据库。要是将一个用户添加到这个数据库,这个用户自动继承所有数据库的权限。一些特定的服务器端命令也只能从这个数据库运行,比如列除所有的数据库会在关闭服务器
  • local:这个数据永久不会被复制,可以用来存储限于本地单台服务器的任意集合
  • config:当mongoDB用于分片设置时,config数据库在内部使用,用于保存分片的相关信息

切换数据库

> use  local
switched to db local

切换到不存在的数据库

> use myNewDatabase
switched to db myNewDatabase
> db.myCollection.insertOne({x:1});
{
	"acknowledged" : true,
	"insertedId" : ObjectId("5c8e03a17c4706ac88a6153f")
}
> show dbs
admin          0.000GB
config         0.000GB
local          0.000GB
myNewDatabase  0.000GB

db.myCollection.insertOne时:会创建myNewDatabase数据库并插入一个数据
db.mycollection.insertone()是mongo shell中可用的方法之一。

  • db是指当前数据库。
  • myCollection是集合的名称。

如果mongo shell不接受集合的名称,则可以使用可选的db.getCollection()语法。例如,如果集合名称包含空格或连字符、以数字开头或与内置函数冲突: 这个没有看懂拉

db.getCollection("3 test").find()
db.getCollection("3-test").find()
db.getCollection("stats").find()

mongo shell提示的每行代码点限制为4095个。如果输入的行的代码点超过4095个,shell将截断它。

设置打印结果的格式

db.collection.find()方法将光标返回到结果中;.pretty()方法可以格式化打印结构

> db.myCollection.find().pretty()
{ "_id" : ObjectId("5c8e03a17c4706ac88a6153f"), "x" : 1 }

mongodb shell多行操作

mongoDB shell会检测输入的JaveScript语句是否写完,如果没有写完还可以在写一行接着写

> x = 10
10
> if(x>0){
... print(x)
... }
10

  • shell支持很多快捷键,比如Tab

退出shell

要退出shell,请键入quit()或使用快捷方式。

https://docs.mongodb.com/manual/mongo/#start-the-mongo-shell-and-connect-to-mongodb

猜你喜欢

转载自blog.csdn.net/zhizhengguan/article/details/88621534
今日推荐