MongoDB常用命令总结

举报
云叔记 发表于 2024/04/10 13:56:13 2024/04/10
【摘要】 MongoDB常用命令总结

《【快捷部署】017_MongoDB(6.0.14)》 讲述了如何快捷部署MongoDB,今天我们来总结一下MongoDB常用的shell命令。


image.png


一、基本操作(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

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。