Mongodb-获取字段匹配特定值的文档的不同计数

时间:2019-06-02 19:15:11

标签: mongodb aggregation-framework

这是我的示例文档:

{
"sessionId" : "98e9be38-3ff9-454a-aef4-625acaadbb62",
"userMessage" : "Liked It :)",
"hour" : "14"
},
{
"sessionId" : "98e9be38-3ff9-454a-aef4-625acaadbb62",
"userMessage" : "Hated It :(",
"hour" : "14"
},
{
"sessionId" : "98e9be38-3ff9-454a-aef4-625acaadbb62",
"userMessage" : "Just okay, could be better",
"hour" : "14"
}      
{
"sessionId" : "98e9be38-3ff9-454a-aef4-625acaadbb62",
"userMessage" : "Sample Message",
"hour" : "14"
},
{
"sessionId" : "98e9be38-3ff9-454a-aef4-625acaadbb62",
"userMessage" : "Sample message 2",
"hour" : "14"
} 

我想计算将userMessages匹配为'Liked It :)'或'Hated It :('或'Just okay,可能会更好'的文档数。

预期输出:

{[
   "Liked It :)":5,
   "Hated It :(":3,
   "Just okay, could be better":1
]}  

我尝试过的事情:

db.getCollection('messagelogs').aggregate([
{"$group" : {_id:"$userMessage", count:{$sum:1}}}
])  

但是上面的查询将所有'userMessage'字段分组,这不是我想要的,我只希望将'userMessage'字段分组为'Liked It :)','Hated It :('和'Just好吧,可能会更好'

0 个答案:

没有答案