问题描述
我在 mongodb 数据库中有两个集合。一个状态列很常见。我需要基于 status 列的集合中的 匹配和不匹配计数。 我写了一些代码,但它只获取匹配的计数。
db.properties.aggregate([
{
$lookup: {
from: "old_properties_data",localField: "identifier",foreignField: "identifier",as: "col2docs"
}
},{"$group" : {_id:"_id",count:{$sum:1}}}
])
解决方法
您可以先通过 $group
identifier
获得总匹配数。然后您可以在$lookup 中使用不相关的子查询来获得old_properties_data
的总大小。最后执行 $subtract
以获得不匹配的总数。
这是 Mongo Playground 供您参考。