你想在 MongoDB 聚合管道里比较两列的大小,可以用 $subtract 做差值,然后根据结果判断哪个更大。
假设你的文档结构是:
{ "fieldA": 10, "fieldB": 7}php33 Bytes© 菜鸟-创作你的创作你想比较 fieldA 和 fieldB,可以这样写聚合:
db.collection.aggregate([ { $project: { fieldA: 1, fieldB: 1, diff: { $subtract: ["$fieldA", "$fieldB"] }, isFieldAGreater: { $gt: [ { $subtract: ["$fieldA", "$fieldB"] }, 0 ] } } }])php220 Bytes© 菜鸟-创作你的创作$subtract: ["$fieldA", "$fieldB"] 会计算 fieldA - fieldB。fieldA 大于 fieldB,用 $gt 来判断。{ "fieldA": 10, "fieldB": 7, "diff": 3, "isFieldAGreater": true}php73 Bytes© 菜鸟-创作你的创作fieldA > fieldB 的文档,可以用 $match:db.collection.aggregate([ { $match: { $expr: { $gt: ["$fieldA", "$fieldB"] } } }])php101 Bytes© 菜鸟-创作你的创作这里 $expr 允许你在 $match 中使用聚合表达式。
https://www.52runoob.com/archives/5442
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。