2012-11-22 5 views
7

Ich habe eine Sammlung mit Datensätzen wie folgt aus:Mongo: Wie findet man nach ObjectId, die in einem Subarray gespeichert ist?

{ 
    "_id" : ObjectId("50ae3bdb50b3d6f01400027a"), 
    "admins": 
     [ObjectId("50ae3bdb50b3d6f014000279"), ObjectId("50ae3bdb50b3d6f01400027e")] 
} 

Ich mag würde durch die der ‚admin‘ Array suchen.

Wie finde ich alle Dokumente, die zum Beispiel ObjectId ("50ae3bdbb5d6f014000279") im Sub-Array enthalten.

Vielen Dank.

+0

Warum haben Sie löschen [diese] (http://stackoverflow.com/questions/14941011/non -valid-json-mit-Escape-Kommas-in-Javascript)? Die Lösung ist 'JSON.parse ('{" title_text ":" \\\ "s \\\" "}") –

Antwort

12

Sie können das gleiche wie admins gegen Array-Felder anzeigen lassen wie bei einem Nicht-Array-Feld:

db.coll.find({admins: ObjectId("50ae3bdb50b3d6f014000279")})