在MongoDB中,我们可以使用聚合框架来比较两个字段,并对所有文档上的另一个字段进行求和。以下是一个包含代码示例的解决方法:
db.collection.aggregate([
{
$project: {
field1: 1, // 保留字段1
field2: 1, // 保留字段2
sumField: {
$sum: "$anotherField" // 对另一个字段求和
}
}
},
{
$match: {
$expr: {
$gt: ["$field1", "$field2"] // 比较字段1和字段2
}
}
}
])
在上面的代码中,我们首先使用$project
阶段选择要保留的字段,同时使用$sum
运算符对另一个字段进行求和,并将结果保存在sumField
字段中。
然后,我们使用$match
阶段来比较field1
和field2
字段。在这里,我们使用$gt
运算符来检查field1
是否大于field2
。
最后,我们使用aggregate
方法来执行聚合操作,并获取满足条件的文档结果。
请注意,你需要将代码中的collection
替换为你要操作的实际集合名称,field1
、field2
和anotherField
替换为实际字段名称。