在 Mongoose 中,我需要在集合中查找元素并对其进行计数,并同时获取查找和计数的结果。我努力了
Model.find().count(function (err, count) {
// Get count, but cannot get results of find
});
有没有办法在不调用两次的情况下同时获得 find() 和 count() ?
原文由 Marc Bacvanski 发布,翻译遵循 CC BY-SA 4.0 许可协议
在 Mongoose 中,我需要在集合中查找元素并对其进行计数,并同时获取查找和计数的结果。我努力了
Model.find().count(function (err, count) {
// Get count, but cannot get results of find
});
有没有办法在不调用两次的情况下同时获得 find() 和 count() ?
原文由 Marc Bacvanski 发布,翻译遵循 CC BY-SA 4.0 许可协议
不幸的是,你必须做 2 个单独的查询。费斯托的答案只有在数据库中的元素少于限制时才有效。
var countQuery = Model.count();
var findQuery = Model.find().limit(2);
countQuery.exec(function (e, count) {
console.log('count', count); // can be more than 2, this is not calculated, mongo stores this value internally
})
findQuery.exec(function(e, data) {
console.log('found items', data); // will be 2 or less elements
});
原文由 user1695032 发布,翻译遵循 CC BY-SA 3.0 许可协议
5 回答4.8k 阅读✓ 已解决
4 回答2.4k 阅读✓ 已解决
2 回答1.7k 阅读✓ 已解决
5 回答1.9k 阅读
2 回答1.3k 阅读✓ 已解决
3 回答2k 阅读
1 回答3.2k 阅读
您可以使用返回数组的长度: