| 语法 | { $addFields: { <新字段>: <表达式> } } |
|---|---|
| 别名 | $set 语义完全相同 |
| 用途 | 派生指标、单位换算、打标 |
示例
示例
db.orders.aggregate([
{ $addFields: { total: { $multiply: ["$qty", "$price"] }, level: { $cond: [{ $gte: ["$qty", 10] }, "bulk", "retail"] } } },
{ $sort: { total: -1 } }
])与 $project 的区别:$addFields 保留已有字段,$project 需要显式列出所有要保留的字段。