Javascript Mongoose中每个字段不同值的行计数
我有一个类似于Javascript Mongoose中每个字段不同值的行计数,javascript,node.js,mongodb,mongoose,nosql,Javascript,Node.js,Mongodb,Mongoose,Nosql,我有一个类似于{reactionType:String,userName:String}(非常简化)的模式,我想计算给定用户对每种类型的反应有多少。我如何处理Mongodb和Mongoose 我试过了 MyModel.find({userName:'myUser'}).distinct('reactionType').count() 和它的变化,但这似乎是计算给定用户的反应类型,而不是每个用户反应类型的计数 如果这有助于澄清我想要什么,在SQL中,我会这样做 从表格中选择反应类型、计数(1)
{reactionType:String,userName:String}
(非常简化)的模式,我想计算给定用户对每种类型的反应有多少。我如何处理Mongodb和Mongoose
我试过了
MyModel.find({userName:'myUser'}).distinct('reactionType').count()
和它的变化,但这似乎是计算给定用户的反应类型,而不是每个用户反应类型的计数
如果这有助于澄清我想要什么,在SQL中,我会这样做
从表格中选择反应类型、计数(1)
其中UserName='myUser'
按反应类型分组
但如何将其翻译成猫鼬语呢
我发现了一个似乎相关的问题,但它解决了一个不同的问题,鉴于上述情况,它没有帮助。您需要聚合框架的操作符:
MyModel.aggregate([
{
$match: { userName: 'myUser' }
},
{
$group: {
_id: "$reactionType",
count: { $sum: 1 }
}
}
])