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)
相关推荐
web151173602233 小时前
Redis--模糊查询--方法实例
数据库·redis·缓存
TT-Kun3 小时前
MySQL | 库操作
数据库·mysql
GreatSQL社区3 小时前
【GreatSQL优化器-15】index merge
数据库·oracle
PengShuaiD54 小时前
【数据库维护】如何解决Clickhouse数据库Too many parts报错
数据库·clickhouse
TechNomad5 小时前
C++访问MySQL数据库
数据库·c++·mysql
数据的世界015 小时前
Deepin(Linux)安装MySQL指南
数据库·mysql
左灯右行的爱情7 小时前
Redis-事务
数据库·redis·bootstrap
V1ncent Chen7 小时前
MySQL 插入更新语句(insert…on duplicate key update语句 )
数据库·sql·mysql
web150850966417 小时前
给SQL server数据库表字段添加注释SQL,附修改、删除注释SQL及演示
数据库·sql·oracle
qwy7152292581637 小时前
20-R 绘图 - 饼图
开发语言·数据库·r语言