MongoDB汇总其他集合中的总数

时间:2020-05-13 15:01:50

标签: mongodb

问题: 我有一个DailyReports集合,其中包含一个我要分组的字段institutionId以及logoname。我正在将报告分组到一个列表中,然后我想检查一下,看看与中午之前已提交的预期报告总数相比,已提交了多少报告。

期望的报告总数将来自我的User集合,该集合具有字段insitutionId

目标

我正在尝试比较查询$match的报告总数,并将其与我的User集合中具有institutionId的匹配总数进行比较。我正在尝试查看有多少用户在中午12点之前尚未填写报告。

报告查询

 DailyReport.aggregate([
        {
          $match: {
            district: district,
            createdOn: {
              $gte: new Date(new Date().setHours(0, 0, 0, 0)),
              $lte: new Date(new Date().setHours(12, 0, 0, 0)),
            },
          },
        },
        {
          $group: {
            _id: "$insitutionId",
            name: { $first: "$name" },
            logo: { $first: "$logo" },
            reports: { // <== I want to compare the length of this to the return count of User.find({insitutionId: IDHERE}).count()
              $push: "$$ROOT",
            },
          },
        },
      ])

用户查询

User.find({insitutionId: IDHERE}).count()

0 个答案:

没有答案