318 votes

MongoDB/mangouste findMany - trouver tous les documents avec les ID énumérés au tableau

J’ai un tableau de _ids et je veux obtenir tous les documents en conséquence, ce qui est le meilleur moyen de le faire ?

Quelque chose comme...

Le tableau peut contenir des centaines de _ids.

Thx

602voto

Daniel Mendel Points 3382

L' find en fonction de la mangouste est une requête complète de mongoDB. Cela signifie que vous pouvez utiliser la pratique mongoDB $in clause, qui fonctionne exactement comme la version SQL de la même chose.

model.find({
    '_id': { $in: [
        '4ed3ede8844f0f351100000c',
        '4ed3f117a844e0471100000d', 
        '4ed3f18132f50c491100000e'
    ]}
}, function(err, docs){
     console.log(docs);
});

Cette méthode fonctionne bien, même pour des tableaux contenant des dizaines de milliers d'identifiants. (Voir déterminer Efficacement le propriétaire d'un enregistrement)

Je recommande que toute personne travaillant avec des mongoDB lire les Requêtes Avancées de la section de l'excellente Officiel mongoDB Docs

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X