| 语法 | { $expr: { <聚合表达式> } } |
|---|---|
| 字段引用 | "$field" 形式 |
| 常见用途 | 库存与阈值比较、金额核对 |
示例
示例
db.budgets.find({ $expr: { $gt: ["$spent", "$budget"] } })
db.products.find({ $expr: { $lte: ["$stock", "$safetyStock"] } })$expr 一般无法借助普通索引选择,大集合上代价高,能改写成固定值时优先改写。
在查询里引用字段值做计算或跨字段比较:$expr 使用聚合表达式语法,适合“同文档字段互比”的场景。
| 语法 | { $expr: { <聚合表达式> } } |
|---|---|
| 字段引用 | "$field" 形式 |
| 常见用途 | 库存与阈值比较、金额核对 |
db.budgets.find({ $expr: { $gt: ["$spent", "$budget"] } })
db.products.find({ $expr: { $lte: ["$stock", "$safetyStock"] } })