【发布时间】:2015-01-25 17:08:08
【问题描述】:
所以我已经阅读了有关如何选择随机行的其他帖子,但没有一个对我有用。
Random record from MongoDB 和How to find random records in mongodb 都建议不再编译的过时解决方案。
向我的数据库添加额外的随机字段不是一种选择。
我想出了以下代码,但它也不起作用。
exports.randomX = function(req, res)
{
var x = req.params.x;
db.collection('table', function(err, collection) {
collection.count(function(err, count) {
var r;
var arr = [];
for(var i=1; i<=x; i++)
{
r = Math.floor(Math.random() * count);
collection.find().limit(1).skip(r).toArray(function(err, items)
{
arr.push(items[0]);
if(arr.length === x)
res.send(arr);
});
}
});
});
}
【问题讨论】:
标签: node.js mongodb asynchronous random