MongoDB - Perbarui Dokumen
MongoDB update() dan save()metode digunakan untuk memperbarui dokumen menjadi koleksi. Metode update () memperbarui nilai dalam dokumen yang ada sementara metode save () menggantikan dokumen yang ada dengan dokumen yang diteruskan dalam metode save ().
Metode MongoDB Update ()
Metode update () memperbarui nilai dalam dokumen yang ada.
Sintaksis
Sintaks dasar update() metode adalah sebagai berikut -
>db.COLLECTION_NAME.update(SELECTION_CRITERIA, UPDATED_DATA)
Contoh
Pertimbangkan koleksi mycol memiliki data berikut.
{ "_id" : ObjectId(5983548781331adf45ec5), "title":"MongoDB Overview"}
{ "_id" : ObjectId(5983548781331adf45ec6), "title":"NoSQL Overview"}
{ "_id" : ObjectId(5983548781331adf45ec7), "title":"Tutorials Point Overview"}
Contoh berikut akan menetapkan judul baru 'Tutorial MongoDB Baru' dari dokumen yang judulnya adalah 'Ikhtisar MongoDB'.
>db.mycol.update({'title':'MongoDB Overview'},{$set:{'title':'New MongoDB Tutorial'}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
>db.mycol.find()
{ "_id" : ObjectId(5983548781331adf45ec5), "title":"New MongoDB Tutorial"}
{ "_id" : ObjectId(5983548781331adf45ec6), "title":"NoSQL Overview"}
{ "_id" : ObjectId(5983548781331adf45ec7), "title":"Tutorials Point Overview"}
>
Secara default, MongoDB hanya akan memperbarui satu dokumen. Untuk memperbarui banyak dokumen, Anda perlu menyetel parameter 'multi' menjadi true.
>db.mycol.update({'title':'MongoDB Overview'},
{$set:{'title':'New MongoDB Tutorial'}},{multi:true})
Metode Penyimpanan MongoDB ()
Itu save() metode menggantikan dokumen yang ada dengan dokumen baru yang diteruskan dalam metode save ().
Sintaksis
Sintaks dasar MongoDB save() metode ditunjukkan di bawah ini -
>db.COLLECTION_NAME.save({_id:ObjectId(),NEW_DATA})
Contoh
Contoh berikut akan mengganti dokumen dengan _id '5983548781331adf45ec5'.
>db.mycol.save(
{
"_id" : ObjectId("507f191e810c19729de860ea"),
"title":"Tutorials Point New Topic",
"by":"Tutorials Point"
}
)
WriteResult({
"nMatched" : 0,
"nUpserted" : 1,
"nModified" : 0,
"_id" : ObjectId("507f191e810c19729de860ea")
})
>db.mycol.find()
{ "_id" : ObjectId("507f191e810c19729de860e6"), "title":"Tutorials Point New Topic",
"by":"Tutorials Point"}
{ "_id" : ObjectId("507f191e810c19729de860e6"), "title":"NoSQL Overview"}
{ "_id" : ObjectId("507f191e810c19729de860e6"), "title":"Tutorials Point Overview"}
>
Metode findOneAndUpdate () MongoDB
Itu findOneAndUpdate() metode memperbarui nilai-nilai dalam dokumen yang ada.
Sintaksis
Sintaks dasar findOneAndUpdate() metode adalah sebagai berikut -
>db.COLLECTION_NAME.findOneAndUpdate(SELECTIOIN_CRITERIA, UPDATED_DATA)
Contoh
Asumsikan kami telah membuat koleksi bernama empDetails dan memasukkan tiga dokumen di dalamnya seperti yang ditunjukkan di bawah ini -
> db.empDetails.insertMany(
[
{
First_Name: "Radhika",
Last_Name: "Sharma",
Age: "26",
e_mail: "[email protected]",
phone: "9000012345"
},
{
First_Name: "Rachel",
Last_Name: "Christopher",
Age: "27",
e_mail: "[email protected]",
phone: "9000054321"
},
{
First_Name: "Fathima",
Last_Name: "Sheik",
Age: "24",
e_mail: "[email protected]",
phone: "9000054321"
}
]
)
Contoh berikut mengupdate usia dan nilai email dokumen dengan nama 'Radhika'.
> db.empDetails.findOneAndUpdate(
{First_Name: 'Radhika'},
{ $set: { Age: '30',e_mail: '[email protected]'}}
)
{
"_id" : ObjectId("5dd6636870fb13eec3963bf5"),
"First_Name" : "Radhika",
"Last_Name" : "Sharma",
"Age" : "30",
"e_mail" : "[email protected]",
"phone" : "9000012345"
}
MongoDB updateOne ()
Metode ini memperbarui satu dokumen yang cocok dengan filter yang diberikan.
Sintaksis
Sintaks dasar metode updateOne () adalah sebagai berikut -
>db.COLLECTION_NAME.updateOne(<filter>, <update>)
Contoh
> db.empDetails.updateOne(
{First_Name: 'Radhika'},
{ $set: { Age: '30',e_mail: '[email protected]'}}
)
{ "acknowledged" : true, "matchedCount" : 1, "modifiedCount" : 0 }
>
MongoDB updateMany ()
Metode updateMany () memperbarui semua dokumen yang cocok dengan filter yang diberikan.
Sintaksis
Sintaks dasar metode updateMany () adalah sebagai berikut -
>db.COLLECTION_NAME.update(<filter>, <update>)
Contoh
> db.empDetails.updateMany(
{Age:{ $gt: "25" }}, { $set: { Age: '00'}}
)
{ "acknowledged" : true, "matchedCount" : 2, "modifiedCount" : 2 }
Anda dapat melihat nilai yang diperbarui jika Anda mengambil isi dokumen menggunakan metode find seperti yang ditunjukkan di bawah ini -
> db.empDetails.find()
{ "_id" : ObjectId("5dd6636870fb13eec3963bf5"), "First_Name" : "Radhika", "Last_Name" : "Sharma", "Age" : "00", "e_mail" : "[email protected]", "phone" : "9000012345" }
{ "_id" : ObjectId("5dd6636870fb13eec3963bf6"), "First_Name" : "Rachel", "Last_Name" : "Christopher", "Age" : "00", "e_mail" : "[email protected]", "phone" : "9000054321" }
{ "_id" : ObjectId("5dd6636870fb13eec3963bf7"), "First_Name" : "Fathima", "Last_Name" : "Sheik", "Age" : "24", "e_mail" : "[email protected]", "phone" : "9000054321" }
>