gpt4 book ai didi

javascript - 如何计算 Mongoose 中具有一个不同字段的记录?

转载 作者:数据小太阳 更新时间:2023-10-29 05:39:57 25 4
gpt4 key购买 nike

在为 nodejs 探索 mongoose 时,我遇到了需要知道我的集合中的用户数量的问题:

我的收藏有记录,每条记录都有一个用户。我想知道唯一(不同)用户的数量。

如何使用 mongoose 执行此操作?

编辑:

数据库增长得非常快,有没有办法从数据库中取回数字而不是获取所有不同的记录并计算它们?

最佳答案

这是一个替代答案,因为当我尝试使用 Reddest 的 Mongoose 3.1.2 方法时出现异常(对我来说这似乎是 Mongoose 中的一个错误,因为 Reddest 的方法应该没问题)。

您可以在集合的模型上调用 distinct 方法,指定该集合的用户标识字段的名称:

Record.distinct('user_id').exec(function (err, user_ids) {
console.log('The number of unique users is: %d', user_ids.length);
});

或者,如果您想链接来自查找的 distinct 调用,请将回调包含在 distinct 调用中(这对我有用):

Record.find().distinct('user_id', function (err, user_ids) { ... });

更新

如果您只想要计数而不需要获取值,请在链中添加一个 count() 调用:

Record.distinct('user_id').count().exec(function (err, count) {
console.log('The number of unique users is: %d', count);
});

注意:这在最新的 Mongoose 代码 (3.5.2) 中不起作用。

关于javascript - 如何计算 Mongoose 中具有一个不同字段的记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12451575/

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