2016-07-12 11 views
0

Mongooseにはランダム探索のオプションがありませんので、以下のどれを使用するのが良いですか?長いリストからのマングースランダムオブジェクト

最小クエリして、大きなクエリ(低消費リソース):

Page.find() 
    .select('_id') 
    .then(function(pages){ 
     var randomPage = _.sample(pages); 
     Page.findOne({id: randomPage._id}) 
     .populate('comments') 
     .then(function(page){...} 
    } 

つのクエリをランダムアイテム狩り:

Page.find() 
    .populate('comments') 
    .then(function(pages){ 
     var randomPage = _.sample(pages); 
     ... 
    } 
+0

[MongoDBからのランダムレコード]の可能な複製(http://stackoverflow.com/questions/2824157/random-record-from-mongodb) –

答えて

0

最も効率的な方法は、アグリゲーションパイプラインで$sample演算子を使用することで、 MongoDBのv3.2のため、許可された

DOCS:$sample (aggregation)

関連する問題