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

Jaka jest różnica między replaceOne() i updateOne() w MongoDB?

Z replaceOne() możesz zastąpić tylko cały dokument, podczas gdy updateOne() pozwala na aktualizację pól.

Od replaceOne() zastępuje cały dokument - pola w starym dokumencie nie zawarte w nowym zostaną utracone. Z updateOne() nowe pola można dodawać bez utraty pól w starym dokumencie.

Na przykład, jeśli masz następujący dokument:

{
   "_id" : ObjectId("0123456789abcdef01234567"),
   "my_test_key3" : 3333
}

Używając:

replaceOne({"_id" : ObjectId("0123456789abcdef01234567")}, { "my_test_key4" : 4})

wyniki w:

{
   "_id" : ObjectId("0123456789abcdef01234567"),
   "my_test_key4" : 4.0
}

Używając:

updateOne({"_id" : ObjectId("0123456789abcdef01234567")}, {$set: { "my_test_key4" : 4}})

wyniki w:

{
   "_id" : ObjectId("0123456789abcdef01234567"),
   "my_test_key3" : 3333.0,
   "my_test_key4" : 4.0
}

Zauważ, że z updateOne() możesz użyć operatorów aktualizacji na dokumentach.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Eksportuj wyniki struktury agregacji mongodb do nowej kolekcji

  2. Uwierzytelnianie użytkownika w kolbie

  3. Jak uzyskać identyfikator obiektu w PyMongo po wstawieniu?

  4. Sprawdź aktualną liczbę połączeń z MongoDb

  5. Czy MongoDB może używać indeksu podczas sprawdzania istnienia pola z operatorem $exists?