sql >> Databáze >  >> NoSQL >> MongoDB

MongoDB:vložte dokumenty se specifickým ID namísto automaticky generovaného ObjectID

Pro váš první problém má MongoDB upsert tak

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

nebo v ovladač Java

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

Pokud chcete nastavit vlastní ID, stačí nastavit _id klíč ručně, tj.

yourBasicDBObject.put("_id",yourCustomId) 

musíte pouze zajistit, aby byl pro každý dokument jedinečný.

Budete také muset nastavit _id ve vašem modifiedObject jinak bude vygenerován nový.

Pokud jde o hromadné operace , stačí nastavit vlastní ID pro každý dokument zadáním _id klíč by měl také fungovat.



  1. Rozdíl mezi count() a find().count() v MongoDB

  2. Použití Hibernate OGM s cloudem MongoDB Atlas M0 (bezplatná úroveň)

  3. Mongo $lookup filtr pomocí vnořeného dotazu

  4. Mongodb x.509 'Od klienta není k dispozici žádný ověřený název předmětu'