sql >> Databáze >  >> NoSQL >> MongoDB

Jaký je rozdíl mezi replaceOne() a updateOne() v MongoDB?

Pomocí replaceOne() můžete nahradit pouze celý dokument, zatímco updateOne() umožňuje aktualizaci polí.

Od replaceOne() nahradí celý dokument - pole ve starém dokumentu, která nejsou obsažena v novém, budou ztracena. Pomocí updateOne() lze přidat nová pole, aniž by došlo ke ztrátě polí ve starém dokumentu.

Pokud máte například následující dokument:

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

Použití:

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

výsledkem je:

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

Použití:

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

výsledkem je:

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

Všimněte si, že pomocí updateOne() můžete použít operátory aktualizace dokumentů.



  1. Jak můžeme vytvořit automaticky generované pole pro mongodb pomocí spring boot

  2. Mongo update element pole (.NET driver 2.0)

  3. Proč existují pole KEYS a ARGV při volání skriptů Redis Lua?

  4. Exportujte kolekci MongoDB do souboru CSV