【发布时间】:2018-06-12 20:00:51
【问题描述】:
我在 MongoDB 中有一个集合,它们的对象如下所示:
对象 1
{
"_id" : ObjectId("5afde62a91952a2980a1b751"),
"notificationName" : "Teste Agendamento Pontual",
"messages" : [
{
"timestamp" : ISODate("2018-05-17T20:29:33.045Z"),
"message" : "Teste Agendamento Pontual"
},
{
"timestamp" : ISODate("2018-05-17T20:29:33.051Z"),
"message" : "Teste"
},
{
"timestamp" : ISODate("2018-05-17T20:29:44.680Z"),
"message" : "OK"
}
]
}
对象 2
{
"_id" : ObjectId("5afde62a9194322980a1b751"),
"notificationName" : "Teste Agendamento Pontual",
"messages" : [
{
"timestamp" : ISODate("2018-05-17T20:29:33.045Z"),
"message" : "Teste Agendamento Pontual"
},
{
"timestamp" : ISODate("2018-05-17T20:29:33.051Z"),
"message" : "NOT OK"
},
{
"timestamp" : ISODate("2018-05-17T20:29:44.680Z"),
"message" : "asdsadasd"
}
]
}
...
我正在尝试获取按 notificationName 分组的结果,其中包含具有 OK 消息的对象计数和具有 NOT OK 消息的对象计数> 。 我想我需要在 $group 中创建一个 $cond 来检查 message 属性,但我不确定。并且不确定这是否是实现这一目标的最佳方式。
【问题讨论】:
标签: mongodb mongodb-query aggregation-framework