sql >> Database >  >> NoSQL >> MongoDB

MongoDB:voeg documenten in met een specifieke id in plaats van automatisch gegenereerde ObjectID

Voor je eerste probleem heeft MongoDB upsert dus

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

of in de Java-stuurprogramma

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

Als u een aangepaste ID wilt instellen, stelt u gewoon de _id . in toets handmatig d.w.z.

yourBasicDBObject.put("_id",yourCustomId) 

je moet er alleen voor zorgen dat het uniek is voor elk document.

U moet ook de _id . instellen in uw modifiedObject anders wordt er een nieuwe gegenereerd.

Wat betreft de bulkoperaties , stel gewoon een aangepaste ID in voor elk document door de _id sleutel zou ook moeten werken.



  1. Aggregatiesom in Spring Data MongoDB

  2. Hoe het aantal te vinden op basis van de conditie in MOngoDB Aggregation?

  3. Bull-wachtrij:wanneer een taak mislukt, hoe kunt u voorkomen dat de wachtrij de resterende taken verwerkt?

  4. Redis gebruiken als tussencache voor REST API