2012-03-28 15 views
0

Folgende MongoDB Dokumentation Beispiel scheint falsch zu sein.

Irgendwelche Vorschläge?

a == 1 und a> 5 werden niemals mit einem Dokument übereinstimmen.

Link

db.foo.find({ $and: [ { a: 1 }, { a: { $gt: 5 } } ] }) 

Im obigen Beispiel Dokumente mit einem Element eines mit einem Wert einer gleich 1 und einem Wert eines größer als 5 wird

Antwort

2

zurückgegeben werden Sie vermissen einen Import im Beispiel Zeile:

db.foo.insert({ a: [ 1, 10 ] }) 
db.foo.find({ $and: [ { a: 1 }, { a: { $gt: 5 } } ] }) 

der Einsatz gibt Ihnen einen Datensatz wie folgt suchen:

{"a" : [1, 10] , 
"_id" : "497ce4051ca9ca6d3efca323"} 

So ist der Fund wird kein Ergebnis zurück, wo ein == 1 und auch einen Wert größer als 5. In diesem Fall hat, kann ein zwei Werte annehmen: http://www.mongodb.org/display/DOCS/Multikeys

Die a 1, und bei der gleiche Zeit 10. Deshalb würde diese Abfrage dieses Ergebnis zurückgeben.

+0

ausgezeichnet .. danke –

+0

Ja multikey können verwirrend sein, ich denke, sie sollten ein einfaches Beispiel von $ und vor dem Sprung in das Multi-Ereignis-Beispiel (wie das ist ein ganzes anderes Dokument, das Sie lesen müssen, um es vollständig zu verstehen) – jzworkman