MongoDB数据库 MQL (MongoDB Query Language)语句大全

基本命令

连接到 MongoDB
复制代码
mongo

显示所有数据库

复制代码
show dbs

选择(或创建)数据库

复制代码
db

集合操作

显示当前数据库中的所有集合
复制代码
show collections

创建集合

复制代码
db.createCollection("myCollection")

删除集合

复制代码
db.myCollection.drop()

文档操作

插入文档

插入单个文档:

复制代码
db.myCollection.insertOne({name: "Alice", age: 25})

插入多个文档:

javascript 复制代码
db.myCollection.insertMany([{name: "Bob", age: 30}, {name: "Charlie", age: 35}])
查询文档

查询所有文档:

bash 复制代码
db.myCollection.find()

带条件查询:

bash 复制代码
db.myCollection.find({age: {$gt: 30}})

查询特定字段:

bash 复制代码
db.myCollection.find({}, {name: 1, age: 1, _id: 0})
更新文档

更新单个文档:

bash 复制代码
db.myCollection.updateOne({name: "Alice"}, {$set: {age: 26}})

更新多个文档:

bash 复制代码
db.myCollection.updateMany({age: {$gt: 30}}, {$set: {status: "Senior"}})

替换文档:

bash 复制代码
db.myCollection.replaceOne({name: "Alice"}, {name: "Alice", age: 27, city: "New York"})
删除文档

删除单个文档:

bash 复制代码
db.myCollection.deleteOne({name: "Alice"})

删除多个文档:

bash 复制代码
db.myCollection.deleteMany({age: {$lt: 30}})

索引操作

创建索引
bash 复制代码
db.myCollection.createIndex({name: 1})

显示索引

bash 复制代码
db.myCollection.getIndexes()

删除索引

bash 复制代码
db.myCollection.dropIndex("name_1")

聚合操作

聚合查询
bash 复制代码
db.myCollection.aggregate([
    {$match: {status: "Senior"}},
    {$group: {_id: "$status", total: {$sum: 1}}}
])

数据库管理

删除数据库
bash 复制代码
db.dropDatabase()

用户和权限

创建用户
bash 复制代码
db.createUser({
    user: "myUser",
    pwd: "myPassword",
    roles: [{role: "readWrite", db: "myDatabase"}]
})

删除用户

bash 复制代码
db.dropUser("myUser")

备份和恢复

数据库备份
bash 复制代码
mongodump --db myDatabase --out /path/to/backup

数据库恢复

bash 复制代码
mongorestore /path/to/backup/myDatabase

性能调优

查看性能状态
bash 复制代码
db.serverStatus()

查看当前操作

bash 复制代码
db.currentOp()

杀死长时间运行的操作

bash 复制代码
db.killOp(opid)

常用查询操作

查询条件和投影
bash 复制代码
db.myCollection.find({age: {$gte: 25}}, {name: 1, age: 1, _id: 0})

排序

bash 复制代码
db.myCollection.find().sort({age: -1})

分页

bash 复制代码
db.myCollection.find().skip(10).limit(10)
相关推荐
wkj0011 分钟前
java 和 C#操作数据库对比
java·数据库·c#
编程在手天下我有12 分钟前
Redis 数据类型全览:特性、场景与操作实例
数据库·redis·数据结构与算法
左灯右行的爱情16 分钟前
缓存并发更新的挑战
jvm·数据库·redis·后端·缓存
Qiuner1 小时前
软件设计师速通其一:计算机内部数据表示
服务器·数据库·信号处理
文牧之2 小时前
PostgreSQL oracle_fdw 扩展解析
运维·数据库·postgresql
一个天蝎座 白勺 程序猿3 小时前
Python爬虫(9)Python数据存储实战:基于pymysql的MySQL数据库操作详解
数据库·python·mysql
Bug哆哆3 小时前
数据库安装和升级和双主配置
数据库
Themberfue3 小时前
Redis ⑥-string | hash | list
数据库·redis·分布式·缓存·list
jiaoxingk4 小时前
有关爬虫中数据库的封装——单线程爬虫
数据库·爬虫·python·mysql
JustLorain4 小时前
如何实现事务的可串行化快照隔离
数据库·后端·架构