所以我已经阅读了有关如何获取随机行选择的其他帖子,但对我来说都没有。
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);
});
}
});
});
}
答案 0 :(得分:1)
不确定这是否是您唯一的问题,但x
将是一个字符串,因此如果您想将其与arr.length
进行比较,则应将其解析为数字或仅使用{{1}而不是==
。
===