MongoDB 在单个文档中查询聚合

MongoDB querying aggregation in one single document

我有一个简短但重要的问题。我是 MongoDB 和查询的新手。

我的数据库如下所示:我的数据库中只存储了一个文档(抱歉模糊不清)。

文档由不同的字段组成:

现在我想查询我的实例数组中的对象有多少次具有组 "a" 和文本 "sample"?

这可能吗?

我只找到了计算有多少文档有东西的方法...

我正在使用 Mongo Compass,但我也可以使用 Pymongo、Mongoengine 或任何其他不同的工具来查询 mongodb。

提前致谢,如果您有更多问题,请发表评论!

你可以试试这个

db.collection.aggregate([
  {
    $unwind: "$instance"
  },
  {
    $unwind: "$instance.label"
  },
  {
    $match: {
      "instance.label.group": "a",
      "instance.label.text": "sample",

    }
  },
  {
    $group: {
      _id: {
        group: "$instance.label.group",
        text: "$instance.label.text"
      },
      count: {
        $sum: 1
      }
    }
  }
])