计算mongodb集合中数组包含特定值的活动ID的不同数目

计算mongodb集合中数组包含特定值的活动ID的不同数目,mongodb,aggregation-framework,Mongodb,Aggregation Framework,我的文档结构: 我的mongodb收藏中有288个具有类似结构的文档。 我需要获取“Values”数组包含的字段activitid的不同计数 “再营销| Facebook |转换| 02-14-2017”价值(可能是 任何元素的值数组,现在我考虑的第一个 一) 到目前为止,我所做的是 你可以试试这样的。这将为您提供在值数组中至少有一个元素匹配条件的文档计数 db.collection.count({Values:"Lookalike | Facebook | Conversions | 02-1

我的文档结构:

我的mongodb收藏中有288个具有类似结构的文档。 我需要获取“Values”数组包含的字段activitid的不同计数 “再营销| Facebook |转换| 02-14-2017”价值(可能是 任何元素的值数组,现在我考虑的第一个 一)

到目前为止,我所做的是


你可以试试这样的。这将为您提供在
数组中至少有一个元素匹配条件的文档计数

db.collection.count({Values:"Lookalike | Facebook | Conversions | 02-14-2017"}})
更新:

db.collection.distinct("CampaignId", {Values:"Lookalike | Facebook | Conversions | 02-14-2017"}).length;

对不起,我把标题写错了,我需要数一数参赛者的人数。没问题。更新答案。看看对你是否有用。谢谢,你太棒了。我不知道我之前想做什么。你让它看起来很简单。如果我没有单独的活动ID字段,你能告诉我另一种选择吗。我的意思是,如果我将这个字段包含在值数组中,并且我想执行相同的操作,我认为这是一个单独的问题。请随意提出一个问题,有人会很乐意回答你。
db.collection.count({Values:"Lookalike | Facebook | Conversions | 02-14-2017"}})
db.collection.distinct("CampaignId", {Values:"Lookalike | Facebook | Conversions | 02-14-2017"}).length;