可以使用 MongoDB 的聚合框架来实现这个需求。具体步骤如下:
- 使用
$match
操作符筛选出符合条件的文档,其中要用到$sum
操作符计算两个字段的和。
db.collection.aggregate([
{
$match: {
$expr: { $eq: [{ $sum: ['$field1', '$field2'] }, value] }
}
}
])
上面的代码中,$field1
和 $field2
分别表示需要相加的两个字段名,value
则为需要匹配的和值。
- 如果需要返回特定的字段,可以在
$project
中指定要返回的字段名。
db.collection.aggregate([
{
$match: {
$expr: { $eq: [{ $sum: ['$field1', '$field2'] }, value] }
}
},
{
$project: {
_id: 0,
fieldA: 1,
fieldB: 1
}
}
])
上面的代码中,通过 _id:0
来排除 _id
字段,同时将 fieldA
和 fieldB
返回给调用方。