《【快捷部署】017_MongoDB(6.0.14)》 讲述了如何快捷部署MongoDB,今天我们来总结一下MongoDB常用的shell命令。
一、基本操作(CRUD)
#创建集合,名为 users
db.createCollection("users")# 插入单条数据
db.users.insertOne({_id: "U004",name: "李四",age: 40
})# 删除单条数据
db.users.deleteOne({ _id: "U004" })# 修改单条数据
db.users.updateOne({ _id: "U004"},{ $set: { name: "李四改" } }
)# 查询文档
db.users.find();# 查询集合记录数
db.users.count()
二、批量操作
#批量插入
db.users.insertMany([{ _id: "U101", name: "用户001abc", age: 10 },{ _id: "U102", name: "用户002def", age: 20 },{ _id: "U103", name: "用户003ghi", age: 30 },{ _id: "U104", name: "用户004jkl", age: 40 }
]);#批量修改(年龄大于20的,名字改成大写)
db.users.updateMany({ age: { $gt: 20 } }, // 查询条件,选择 age 大于 20 的文档[{ $set: { name: { $toUpper: "$name" } } } // 更新操作,将 name 字段改为大写]
)#批量删除(年龄小于等于20的批量删除)
db.users.deleteMany({ age: { $lte: 20 } })
三、查询操作
#查询age = 20的数据
db.users.find({ "age": 20 })#查询age > 20的数据 ($gt、$lt、$gte、$lte)
db.users.find({ age: { $gt: 20 } })#like查询:name中包含“00”的数据
db.users.find({name: /00/});# and查询:name = 张三 and age = 20的数据
db.users.find({name: '张三', age: 30});# or查询:age=30 or age=40的数据
db.users.find({$or: [{age: 30}, {age: 40}]});#分页查询
db.users.find().skip(5).limit(10);#升降序
db.users.find().sort({age: 1});
db.users.find().sort({age: -1});
四、索引相关
# 创建索引
db.users.ensureIndex({name: 1});# 查询当前聚集集合所有索引
db.users.getIndexes();# 查看总索引记录大小
db.users.totalIndexSize();# 读取当前集合的所有index信息
db.users.reIndex();# 删除指定索引
db.users.dropIndex("name_1");# 删除所有创建的索引
db.users.dropIndexes();
五、用户及权限
#创建用户并授权
db.createUser({user: "cxy",pwd: "123qwEf6",roles: [{role: "readWrite",db: "mydb"}]
})#授权cxy用户,mydb 数据库的 dbAdmin 角色
db.grantRolesToUser("cxy", [{role: "dbAdmin",db: "mydb"}
])#删除用户
db.dropUser("cxy")
六、其他
命令 | 说明 |
---|---|
show databases | 列举数据库 |
show collections | 列举集合 |
show users | 列举用户 |
db.stats() | 数据库状态信息 |
db.users.stats() | 集合状态信息 |
db.users.drop() | 删除集合 |
更多信息可访问官网:https://www.mongodb.com/zh-cn/docs/mongodb-shell/
当然,您也可以关注我,关注后续相关博文。
往期精彩内容推荐
【快捷部署】017_MongoDB(6.0.14)
云原生:5分钟了解一下Kubernetes是什么
【快捷部署】015_Minio(latest)
【快捷部署】014_elasticsearch(7.6)
【快捷部署】009_Redis(6.2.14)
「快速部署」第一期清单