MongoDB 查询,本质上就是“从档案柜里挑出符合条件的档案袋”。
查询全部:
db.users.find()按条件查:
db.users.find({ age: 29 })
db.users.find({ city: "杭州", status: "active" })只拿部分字段,相当于只看档案袋封面,不把全部附件摊开:
db.users.find(
{ status: "active" },
{ name: 1, city: 1, _id: 0 }
)范围、比较、集合查询:
db.products.find({ price: { $gte: 100, $lte: 500 } })
db.users.find({ age: { $in: [18, 20, 22] } })
db.users.find({ age: { $ne: 30 } })逻辑组合:
db.orders.find({
$or: [
{ status: "pending" },
{ totalAmount: { $gt: 1000 } }
]
})数组和嵌套字段:
db.orders.find({ "items.sku": "BOOK-001" })
db.users.find({ hobbies: "摄影" })排序、分页、限制数量:
db.orders.find({ status: "paid" })
.sort({ createdAt: -1 })
.limit(20)你可以把查询过程想成:
筛选条件 -> 找到对应档案袋 -> 只展开需要字段 -> 排序 -> 返回结果