2016-05-13 22 views
0

Mit Mungo in NodeJS, möchte ich nur einige Daten finden wie:

var idnos = [1,2,3,.....] // an id array  
var users = yield users.find({idno:{$in: idnos}}).sort({_id: -1}).skip(skip).limit(limit); 

Ist es in Ordnung in $ zu benutzen? Ich habe Angst, dass Daten zufällig werden die IDNOS ist ein Array. Ich teste es und es funktioniert. Aber ich bin immer noch verwirrt.

Antwort

0

Ihre Implementierung ist korrekt. Es gibt keine Beschränkung, $in mit skip, limit in mongodb zu verwenden. Wenn Sie Ihre Verwirrung vollständig beseitigen möchten, dann können Sie überprüfen, wie $in, skip und limit in mongodb arbeiten.

Documentation for $in

Documentation for skip

Documentation for limit

Wie werden Sortierung Sie das Ergebnis. Sie sollten einen Blick auf die sort

Für diese Art von Szenario, explain() in Mongodb ist sehr mächtig. Sie gibt Informationen zum Abfrageplan für die folgenden Vorgänge zurück: aggregate(); Anzahl(); distinct(); finden(); Gruppe(); Löschen(); und update() Methoden.

So können Sie explain() verwenden und die Informationen sehen ...

db.users.explain().find({idno:{$in: idnos}}).sort({_id: -1}).skip(skip).limit(limit);