MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

MongoDB:Fügen Sie Dokumente mit einer bestimmten ID anstelle einer automatisch generierten Objekt-ID ein

Für Ihr erstes Problem hat MongoDB upsert also

db.collection.update(
   {query for id},
   {document},
   {upsert: true}
)

oder im Java-Treiber

yourCollection.update(searchObject, modifiedObject, true, false);

Wenn Sie eine benutzerdefinierte ID festlegen möchten, legen Sie einfach die _id fest manuell eingeben, d.h.

yourBasicDBObject.put("_id",yourCustomId) 

Sie müssen nur sicherstellen, dass es für jedes Dokument eindeutig ist.

Sie müssen auch die _id festlegen in Ihrem modifiedObject andernfalls wird ein neues generiert.

Wie für die Massenoperationen , indem Sie einfach eine benutzerdefinierte ID für jedes Dokument festlegen, indem Sie die _id angeben Schlüssel sollte auch funktionieren.