Skip to content

MongoDB 操作与命令 ​

连接数据库与检查结构 ​

mongosh connect · 连接 MongoDB;凭据使用交互提示 ​

  • 连接指定数据库:
bash
mongosh "mongodb://{{host}}:{{27017}}/{{database}}"
  • 使用认证库并提示输入密码:
bash
mongosh "mongodb://{{host}}/{{database}}" --username {{user}} --authenticationDatabase {{admin}}
  • 使用 TLS 连接:
bash
mongosh "mongodb://{{host}}/{{database}}" --tls --username {{user}}
  • 连接 SRV 集群:
bash
mongosh "mongodb+srv://{{cluster.example.com}}/{{database}}" --username {{user}}

查询与读取数据 ​

mongosh query · 在 mongosh 内查询集合;示例字段需与数据匹配 ​

  • 查找并限制结果数:
bash
db.getCollection("{{orders}}").find({status: "pending"}).limit(20)
  • 仅返回需要的字段:
bash
db.getCollection("{{orders}}").find({status: "pending"}, {_id: 0, total: 1})
  • 按总额降序排列:
bash
db.getCollection("{{orders}}").find({}).sort({total: -1}).limit(10)
  • 统计匹配文档:
bash
db.getCollection("{{orders}}").countDocuments({status: "pending"})

写入数据与管理事务 ​

mongosh write · 在 mongosh 内写入文档与创建索引;确认当前数据库 ​

  • 插入一条文档:
bash
db.getCollection("{{orders}}").insertOne({reference: "{{order_reference}}", status: "pending"})
  • 更新匹配的单条文档:
bash
db.getCollection("{{orders}}").updateOne({reference: "{{order_reference}}"}, {$set: {status: "paid"}})
  • 删除匹配的单条文档:
bash
db.getCollection("{{orders}}").deleteOne({reference: "{{order_reference}}"})
  • 为查询字段创建普通索引:
bash
db.getCollection("{{orders}}").createIndex({reference: 1})

示例整理自 tldr-pages,作者为 tldr-pages team and contributors,遵循 CC BY 4.0。

继续阅读