MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

MongoDB:wstaw dokumenty z określonym identyfikatorem zamiast automatycznie generowanego ObjectID

Dla Twojego pierwszego problemu MongoDB ma upsert więc

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

lub w sterownik Java

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

Jeśli chcesz ustawić niestandardowy identyfikator, po prostu ustaw _id klawisz ręcznie, tj.

yourBasicDBObject.put("_id",yourCustomId) 

musisz tylko upewnić się, że jest unikalny dla każdego dokumentu.

Będziesz także musiał ustawić _id w swoim modifiedObject w przeciwnym razie zostanie wygenerowany nowy.

Jeśli chodzi o operacje zbiorcze , wystarczy ustawić niestandardowy identyfikator dla każdego dokumentu, podając _id klawisz również powinien działać.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Radzenie sobie ze sposobem, w jaki MongoDB przechowuje DateTime, gdy jest używany ze wzorcem lokalizatora usług

  2. MongoDB C# Driver i wygenerowane przez serwer identyfikatory ObjectId

  3. Pozyskiwanie przodków w MongoDb przy użyciu struktury drzewa

  4. Indeks poddokumentów w mongo

  5. Jak sprawdzić, czy połączenie MongoDB jest aktywne w Node.js?