2016-07-12 12 views
0

Wie Mongoose hat keine Option für zufällige Suche, welche der folgenden ist besser zu verwenden? (Weniger Ressourcen verbrauch)Mongoose Zufallsobjekt aus einer langen Liste

Minimal-Abfrage und dann große Abfrage:

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

Eine Abfrage und einen Zufallsgenerator Kommissionierung:

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

Mögliches Duplikat von [Zufallsdatensatz von MongoDB] (http://stackoverflow.com/questions/2824157/random-record-from-mongodb) –

Antwort

0

effizienteste Weg ist $sample Operator in Aggregation Pipeline zu verwenden, die seit mongodb v3.2 erlaubt

DOKU: $sample (aggregation)

Verwandte Themen