sql >> Database teknologi >  >> NoSQL >> MongoDB

Hvad er forskellen mellem replaceOne() og updateOne() i MongoDB?

Med replaceOne() du kan kun erstatte hele dokumentet, mens updateOne() giver mulighed for at opdatere felter.

Siden replaceOne() erstatter hele dokumentet - felter i det gamle dokument, der ikke er indeholdt i det nye, vil gå tabt. Med updateOne() nye felter kan tilføjes uden at miste felterne i det gamle dokument.

For eksempel hvis du har følgende dokument:

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

Bruger:

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

resulterer i:

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

Bruger:

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

resulterer i:

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

Bemærk, at med updateOne() du kan bruge opdateringsoperatørerne på dokumenter.



  1. Mongodb opdatering dybt indlejret underdokument

  2. Hvordan bruger man de dumpede data fra mongodump?

  3. redis - Brug af hashes

  4. MongoDB $filter