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)
相关推荐
qq_192779872 小时前
高级爬虫技巧:处理JavaScript渲染(Selenium)
jvm·数据库·python
u0109272713 小时前
使用Plotly创建交互式图表
jvm·数据库·python
爱学习的阿磊3 小时前
Python GUI开发:Tkinter入门教程
jvm·数据库·python
tudficdew3 小时前
实战:用Python分析某电商销售数据
jvm·数据库·python
sjjhd6524 小时前
Python日志记录(Logging)最佳实践
jvm·数据库·python
Configure-Handler4 小时前
buildroot System configuration
java·服务器·数据库
2301_821369614 小时前
用Python生成艺术:分形与算法绘图
jvm·数据库·python
电商API_180079052475 小时前
第三方淘宝商品详情 API 全维度调用指南:从技术对接到生产落地
java·大数据·前端·数据库·人工智能·网络爬虫
2401_832131955 小时前
Python单元测试(unittest)实战指南
jvm·数据库·python
打工的小王6 小时前
redis(四)搭建哨兵模式:一主二从三哨兵
数据库·redis·缓存