CRUD Operations in MongoDB / Perform CRUD Operations
Updating MongoDB Documents by Using updateOne()
The updateOne()
method accepts a filter document, an update document, and an optional options object. MongoDB provides update operators and options to help you update documents. In this section, we'll cover three of them: $set
, upsert
, and $push
.
$set
The $set
operator replaces the value of a field with the specified value, as shown in the following code:
db.podcasts.updateOne(
{
_id: ObjectId("5e8f8f8f8f8f8f8f8f8f8f8"),
},
{
$set: {
subscribers: 98562,
},
}
)
upsert
The upsert
option creates a new document if no documents match the filtered criteria. Here's an example:
db.podcasts.updateOne(
{ title: "The Developer Hub" },
{ $set: { topics: ["databases", "MongoDB"] } },
{ upsert: true }
)
$push
The $push
operator adds a new value to the hosts
array field. Here's an example:
db.podcasts.updateOne(
{ _id: ObjectId("5e8f8f8f8f8f8f8f8f8f8f8") },
{ $push: { hosts: "Nic Raboy" } }
)