sql >> Databasteknik >  >> NoSQL >> MongoDB

MongoDB:infoga dokument med specifikt id istället för autogenererat ObjectID

För ditt första problem har MongoDB upsert

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

eller i Java-drivrutinen

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

Om du vill ställa in ett anpassat ID ställer du bara in _id tangenten manuellt, dvs.

yourBasicDBObject.put("_id",yourCustomId) 

du måste bara se till att det är unikt för varje dokument.

Du måste också ställa in _id i ditt modifiedObject annars kommer en ny att genereras.

När det gäller bulkverksamheten , ställ bara in ett anpassat ID för varje dokument genom att ange _id nyckel bör också fungera.



  1. Hur konstruerar man en fråga för att uppdatera kapslade arraydokument i mongo?

  2. Spara, organisera och fråga efter produkter, alternativ/taggar och kategorier

  3. Vad är det rekommenderade tillvägagångssättet för databaser med flera hyresgäster i MongoDB?

  4. MongoDB-schemaprestandaoptimering