基本命令
连接到 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)