什么是 mongo Shell?
- mongo Shell 是 MongoDB 官方提供的一个在命令行中用来连接操作 MongoDB 服务的客户端工具;
- 使用 mongo Shell 可以对 MongoDB 数据库进行数据的管理;
下载 mongo Shell
mongo Shell 包含在 MongoDB 服务器安装中,如果已经安装了服务器,则 mongo Shell 将安装在与服务器二进制文件相同的位置;
启动 mongo Shell 并连接到 MongoDB
-
在后台启动 mongodb 服务:
# --dbpath 设置数据存放目录 # --logpath 设置日志存放目录 # --fork 在后台运行 mongod --dbpath /usr/local/var/mongodb --logpath /usr/local/var/log/mongodb/mongo.log --fork
-
连接默认端口上的本地 MongoDB 服务:
# 使用默认端口 27017 mongo
-
连接非默认端口上的本地 MongoDB 服务:
# --port 设置端口号 mongo --port 28015
-
连接远程主机上的 MongoDB 服务:
# --host <host> 设置远程服务器地址 # --port 设置端口号 mongo --host mongodb0.example.com --port 28015
-
连接具有身份认证的 MongoDB 服务:
# 在连接字符串中指定用户名,身份验证数据库以及可选的密码 mongo "mongodb://alice@mongodb0.examples.com:28015/?authSource=admin" # --username <user> 用户名 # --password 密码 # --authenticationDatabase <db> 身份验证数据库 mongo --username alice --password --authenticationDatabase admin --host mongodb.examples.com --port 28015
-
查看 mongod 服务是否启动
ps aux | grep -v grep | grep mongod
退出连接
-
第一种:exit;
-
第二种:quit();
-
第三种:Ctrl + C;
mongo Shell 执行环境
提供 JS 执行环境
数据库操作命令
-
查看所有数据库:
show dbs
-
显示当前使用的数据库:
db
-
查看当前数据库状态:
db.stats()
-
查看数据库中所有的集合:
show collections
-
切换数据库:切换到不存在的数据库 MongoDB 会创建数据库
use 数据库名
操作数据库 API
-
向集合中添加文档:
db.collection.insertOne({文档内容}); db.collection.insertMany([多个文档]);
新的文档如果没有指定字段
_id
,则会自动添加一个字段_id
作为主键自动的主键是一个
ObjectId
对象,该对象是通过调用函数ObjectId()
创建的它的原理是根据
时间戳+机器码+进程Id+自增量
生成的一个十六进制的唯一字符串使用
ObjectId
函数还可以把某个字符串还原成一个ObjectId
对象,例如ObjectId("xxxxx")
-
查询文档:
db.collection.find(查询对象);
-
修改文档:
db.collection.updateOne(<filter>, <update>) db.collection.updateMany(<filter>, <update>) db.collection.replaceOne(<filter>, <update>)
-
删除文档:
db.collection.deleteMany(查询对象) db.collection.deleteOne(查询对象)
MongoDB👉 macOS 安装 MongoDB
上一篇