全书目录

第十九篇:MongoDB 完全指南 —— 弹性档案仓宇宙

第七章:先学会查档案 —— 查询基础

1 分钟 125 字 第 358 / 962 个阅读单元

MongoDB 查询,本质上就是“从档案柜里挑出符合条件的档案袋”。

查询全部:

javascript
db.users.find()

按条件查:

javascript
db.users.find({ age: 29 })
db.users.find({ city: "杭州", status: "active" })

只拿部分字段,相当于只看档案袋封面,不把全部附件摊开:

javascript
db.users.find(
  { status: "active" },
  { name: 1, city: 1, _id: 0 }
)

范围、比较、集合查询:

javascript
db.products.find({ price: { $gte: 100, $lte: 500 } })
db.users.find({ age: { $in: [18, 20, 22] } })
db.users.find({ age: { $ne: 30 } })

逻辑组合:

javascript
db.orders.find({
  $or: [
    { status: "pending" },
    { totalAmount: { $gt: 1000 } }
  ]
})

数组和嵌套字段:

javascript
db.orders.find({ "items.sku": "BOOK-001" })
db.users.find({ hobbies: "摄影" })

排序、分页、限制数量:

javascript
db.orders.find({ status: "paid" })
  .sort({ createdAt: -1 })
  .limit(20)

你可以把查询过程想成:

text
筛选条件 -> 找到对应档案袋 -> 只展开需要字段 -> 排序 -> 返回结果