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)
相关推荐
程序猿校长6 分钟前
SQL小白超详细入门教程
数据库·sql·oracle
PGCCC28 分钟前
解密 PostgreSQL 加密:初学者指南#postgresql认证
数据库·postgresql·区块链
叫我萧风啊41 分钟前
25.labview数据采集中的读取和写入文本文件和Excel表格文件
数据库·计算机视觉·自动化·excel·labview
u0104058361 小时前
SQLMap工具详解与SQL注入防范
数据库·sql
喜欢猪猪1 小时前
MySQL 聚集索引与非聚集索引的概念以及优缺点
数据库·mysql
TPBoreas2 小时前
物理删除和逻辑删除区别
数据库·oracle
InterestingFigure2 小时前
头条系统-05-延迟队列精准发布文章-概述&添加任务(db和redis实现延迟任务)、取消&拉取任务&定时刷新(redis管道、分布式锁setNx)...
数据库·redis·分布式·缓存
前端组件开发2 小时前
JeeSite V5.7.1 发布,Java快速开发平台,Spring Boot,Vue3,微服务
java·数据库·spring boot·微服务·oracle·开源
BinTools图尔兹2 小时前
CQ 社区版2.13.3 | 支持全局开启OTP登录、文本导入功能可独立控制……
数据库·安全·dba·数据库管理员
henan程序媛2 小时前
MySQL备份与恢复
数据库·mysql·备份与恢复