我在GitHub Gist中找到了此Mongoose
Schema静态函数,该函数应该可以实现您所追求的。它计算集合中文档的数量,然后在跳过随机数量后返回一个文档。
QuoteSchema.statics.random = function(callback) { this.count(function(err, count) { if (err) { return callback(err); } var rand = Math.floor(Math.random() * count); this.findOne().skip(rand).exec(callback); }.bind(this));};资料来源:https :
//gist.github.com/3453567
注意: 我对代码进行了一些修改,以使其更具可读性。



