mongodb常用操作命令

1、MongoDB Shell工具

perl 复制代码
mongosh

一般的链接命令格式为:

perl 复制代码
mongosh "mongodb://hostname:port"

示例:

perl 复制代码
mongosh "mongodb://localhost:27017"

2、显示所有数据库

perl 复制代码
show dbs
或者
show databases

3、切换到指定数据库(如果不存在则创建):

perl 复制代码
use <database_name>

4、删除当前数据库:

perl 复制代码
db.dropDatabase()

5、查看当前所使用的数据库

perl 复制代码
db

6、显示当前数据库中的所有集合:

php 复制代码
show collections

7、创建集合:

perl 复制代码
db.createCollection("<collection_name>")

8、删除集合:

perl 复制代码
db.<collection_name>.drop()

9、插入单个文档:

perl 复制代码
db.<collection_name>.insertOne({ key: "value" })

10、插入多个文档:

perl 复制代码
db.<collection_name>.insertMany([{ key1: "value1" }, { key2: "value2" }])

11、查询所有文档:

perl 复制代码
db.<collection_name>.find()

12、条件查询:

perl 复制代码
db.<collection_name>.find({ key: "value" })

13、查询第一个匹配的文档:

perl 复制代码
db.<collection_name>.findOne({ key: "value" })

14、更新单个文档:

perl 复制代码
db.<collection_name>.updateOne({ key: "value" }, { $set: { key: "new_value" } })

15、更新多个文档:

perl 复制代码
db.<collection_name>.updateMany({ key: "value" }, { $set: { key: "new_value" } })

16、删除单个文档:

perl 复制代码
db.<collection_name>.deleteOne({ key: "value" })

17、删除多个文档:

perl 复制代码
db.<collection_name>.deleteMany({ key: "value" })

18、创建索引:

perl 复制代码
db.<collection_name>.createIndex({ key: 1 })  // 1 表示升序,-1 表示降序

19、查看索引:

perl 复制代码
db.<collection_name>.getIndexes()

20、删除索引:

perl 复制代码
db.<collection_name>.dropIndex("index_name")

21、使用聚合管道:

perl 复制代码
db.<collection_name>.aggregate([
  { $match: { key: "value" } },
  { $group: { _id: "$field", total: { $sum: 1 } } }
])

22、创建用户:

perl 复制代码
db.createUser({
  user: "username",
  pwd: "password",
  roles: [{ role: "readWrite", db: "database_name" }]
})

23、删除用户:

perl 复制代码
db.dropUser("username")

24、查看用户:

perl 复制代码
db.getUsers()

25、备份数据库(mongodump):

perl 复制代码
mongodump --db <database_name> --out /path/to/backup

26、恢复数据库(mongorestore):

perl 复制代码
mongorestore --db <database_name> /path/to/backup/<database_name>

27、导出集合为 JSON 文件(mongoexport):

perl 复制代码
mongoexport --db <database_name> --collection <collection_name> --out /path/to/output.json

28、导入 JSON 文件到集合(mongoimport):

perl 复制代码
mongoimport --db <database_name> --collection <collection_name> --file /path/to/input.json

29、查看 MongoDB 版本:

perl 复制代码
db.version()

30、查看服务器状态:

perl 复制代码
db.serverStatus()

31、查看当前数据库状态:

perl 复制代码
db.stats()

32、退出 MongoDB Shell:

perl 复制代码
exit
相关推荐
smilejingwei1 小时前
TRAE 插件上新 | SQLazy:让 AI 写出可信复杂 SQL
数据库·人工智能·sql
我要见SA姐11 小时前
GitHub Actions 自动化:5 个真实运维提效案例
运维·数据库·机器学习·oracle·回归
QXWZ_IA2 小时前
边坡监测预算有限时的建设顺序:虚拟基准站与成本账
网络·数据库
这个DBA有点耶3 小时前
1亿条向量内存降95.4%,延迟降80%:金仓AI原生内核真能解决RAG痛点?
数据库·人工智能·开源
Y3815326623 小时前
用 httpx 写 SerpBase 异步客户端:连接池与超时配置
运维·服务器·数据库
c_hn_0073 小时前
量化数据12:国内期货L2历史数据:Tick、逐笔、五档盘口一次性打包下载
数据库·1024程序员节·#深度订单簿数据·#历史行情订单薄·#本地csv数据存储
GeW3 小时前
从"补短板"到"强优势"Linux与数据库认证成为产业跃迁人才支点
linux·数据库
数据库小学妹4 小时前
MySQL NULL陷阱:NOT IN、三值逻辑与NOT EXISTS
数据库·后端·mysql
SelectDB4 小时前
Doris 异步物化视图实战:与 Snowflake MV / Dynamic Tables 分层建模对照
大数据·数据库·云原生
枫昕柚4 小时前
MySQL 建库命令详解:从 CREATE DATABASE 到create table
数据库·mysql