在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替换为实际字段名称。