2015-12-30 1 views
-3

J'ai un tableau d'identifiants. Maintenant, je veux obtenir tous les documents correspondant aux identifiants à l'intérieur de ce tableau à partir d'une collection. Y at-il une commande par laquelle je peux y parvenir?Obtenir des documents en interrogeant un tableau

Je ne souhaite pas exécuter une boucle sur ce tableau et interroger chaque élément du tableau.

Supposons la matrice est

id = [1,2,3,4] 

La collection est Scores, qui a le champ id parmi d'autres domaines. Je cherche quelque chose comme Scores.find(..)

+0

Possible duplication de [Rails Console trouver les utilisateurs par tableau d'ID] (http://stackoverflow.com/questions/21435768/rails-console-find-users-by-array-of-ids) –

+0

vous pouvez passer un tableau d'ids dans la méthode 'find' et il retournera tous les résultats – Kkulikovskis

+0

Oui c'est le seul, merci –

Répondre

0

ActiveRecord, la requête suivante fonctionne comme prévu

Scores.find([1, 2, 3, 4]) 

Selon l'adaptateur MongoDB que vous utilisez, il peut fonctionner aussi bien. Selon this documentation, la même syntaxe est également prise en charge dans Mongoid.

Sinon, vous pouvez généralement utiliser

Scores.where(id: [1, 2, 3, 4]) 

qui renverra une collection d'enregistrements correspondant aux ID donnés.