这是一个替代答案,因为当我使用 Mongoose 3.1.2 尝试 Reddest 的方法时出现异常(对我来说这似乎是 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) { ... });
UPDATE
如果您只想计数而不获取值,请粘贴count()
在链中调用:
Record.distinct('user_id').count().exec(function (err, count) {
console.log('The number of unique users is: %d', count);
});
NOTE:这在最新的 Mongoose 代码(3.5.2)中不起作用。