gpt4 book ai didi

javascript - Mongoose 中字段的每个不同值的行数

转载 作者:行者123 更新时间:2023-12-04 10:13:46 25 4
gpt4 key购买 nike

我有一个类似 { reactionType: String, userName: String } 的模式(真的很简单),我想计算给定用户对每种类型的 react 有多少。我如何用 Mongodb 和 Mongoose 做到这一点?

我试着做

MyModel.find({ userName: 'myUser' }).distinct('reactionType').count()

以及它的变体,但这似乎是计算给定用户的 react 类型,而不是用户的每种 react 类型的计数。

如果这有助于澄清我想要什么,在 SQL 中我会做类似的事情

SELECT ReactionType, COUNT(1) FROM TheTable
WHERE UserName = 'myUser'
GROUP BY ReactionType

但是如何将其翻译成 Mongoose 语呢?

我找到了 this似乎相关的问题,但它正在解决一个不同的问题,并且在上述情况下没有帮助。

最佳答案

您需要聚合框架的 $group运算符(operator):

MyModel.aggregate([
{
$match: { userName: 'myUser' }
},
{
$group: {
_id: "$reactionType",
count: { $sum: 1 }
}
}
])

关于javascript - Mongoose 中字段的每个不同值的行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61180417/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com