从另一个集合 mongodb 获取匹配和不匹配的计数

问题描述

我在 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 供您参考。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...