这是我的示例文档:
{
"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好吧,可能会更好'