2016-05-03 31 views
1

Ich aktualisiere ein Dokument mit einem Array von eingebetteten Dokumenten, direkt in der Mongo-Shell. Ich möchte, dass jede dieser Unterdokumente ein Feld _id hat, aber diese werden nicht automatisch erstellt, da sie für Dokumente der obersten Ebene sind. Gibt es eine Möglichkeit, einfach eine neue ObjectId in der Mongo-Shell zu erstellen? Etwas entlang der Linien von (Beispiel unten ist nicht gültig):Ist es möglich, ObjectId in der Mongo Shell zu erstellen?

"prop": [ 
    { 
    "_id": new ObjectId(), // creates the objectId when executing the line 
    "foo": "bar" 
    } 
] 

Die Hauptanforderung ist, nicht manuell zufällige Zeichenfolge für jedes Dokument zu erzeugen, die zu erstellen. Ist das möglich?

Antwort

2

Ja, es ist möglich. Sie können ObjectId

ObjectId id = new ObjectId(); 

// or this 
ObjectId id = ObjectId.get(); 

generieren Dann kann es für Update-Dokument verwendet werden. Ich hoffe es hilft.