MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

MongoDB:вмъкнете документи със специфичен идентификатор вместо автоматично генериран ObjectID

За първия ви проблем MongoDB има upsert така че

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

или в драйвера на Java

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

Ако искате да зададете персонализиран идентификатор, просто задайте _id въведете ръчно, т.е.

yourBasicDBObject.put("_id",yourCustomId) 

просто трябва да се уверите, че е уникален за всеки документ.

Ще трябва също да зададете _id във вашия modifiedObject в противен случай ще бъде генериран нов.

Що се отнася до груповите операции , като просто зададете персонализиран идентификатор за всеки документ, като дадете _id ключът също трябва да работи.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как да филтрирате елементи от масив

  2. Mongoid::Versioning - как да проверя предишни версии?

  3. Spring data mongodb премахва свойство от документ с помощта на MongoTemplate

  4. Как да върнете множество стойности с помощта на Go Mongo Distinct

  5. Mongodb връща множество резултати от подмасив и изключва други върнати резултати