MongoDB常用命令总结
【摘要】 MongoDB常用命令总结
《【快捷部署】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/
当然,您也可以关注我,关注后续相关博文。
往期精彩内容推荐
云原生:5分钟了解一下Kubernetes是什么
【快捷部署】015_Minio(latest)
【快捷部署】014_elasticsearch(7.6)
【快捷部署】011_PostgreSQL(16)
【快捷部署】010_MySQL(5.7.27)
【快捷部署】009_Redis(6.2.14)
「快速部署」第一期清单
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)