2016-06-27 5 views
1

Ich bin stecken zu versuchen herauszufinden, wie das Äquivalent von "IN" in SQL mit MongoDB zu verwenden, da ich keine Ergebnisse bekomme.Abfrage angegebenen Liste von Werten entspricht sql IN

Hier ist Beispielausgabe des Datensatzes/Dokument:

[ 
     { 
       "_id" : ObjectId("12348749e4b04b2d017ff78e"), 
       "account" : "foo", 
       "archivedFilteredEvents" : [ 
         { 
           "id" : "all_events", 
           "name" : "All Events", 
           "enabled" : false 
         }, 
         { 
           "id" : "f123dsad2", 
           "name" : "test1", 
           "enabled" : true 
         } 
] 

Hier ist die Abfrage, die ich brauche Hilfe mit:

printjson(db.mytestdb_profiles.find({ 
"account" : "foo", 
"archivedFilteredEvents.id" : [ "all_events","f123dsad2"]} 
)); 

Ich bin grundsätzlich für das Äquivalent suchen:

select id, name, enabled 
from mytestdb_profiles 
where account = 'foo' 
and id.archivedFilteredDEvents IN ('all_events', 'f123dsad2'); 
+0

Hier sind die Dokumente: https://docs.mongodb.com/manual/reference/operator/query/in/#op._S_in – Hinrich

Antwort

4

Sie vermissen nur den Operator $in in Ihrer Abfrage:

db.mytestdb_profiles.find({ 
"account" : "foo", 
"archivedFilteredEvents.id" : { $in: [ "all_events","f123dsad2"] } } 
) 
Verwandte Themen