MongoDB在一个文档中查询聚合

问题描述 投票:0回答:1

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

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

该文档包含不同的字段:

  • 两个模糊不重要
  • 基准->日期
  • instance->具有嵌入式文档对象的数组;我们的实例有一个id,两个不重要的字段和一个代码。

My Document

现在我要查询实例数组中的对象具有组“ a”和文本“ sample”的次数?

这甚至有可能吗?

我只找到计数有多少文件的方法...

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

提前感谢您,如果您还有其他问题,请发表评论!

mongodb pymongo mongoengine
1个回答
1
投票

您可以尝试这个

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
      }
    }
  }
])
© www.soinside.com 2019 - 2024. All rights reserved.