Anda tidak ingin menggunakan $set
di sini, tapi $pull
(lihat dokumen
), dan selagi Anda bisa gunakan $elemMatch
untuk menentukan lebih lanjut kueri Anda, Anda tidak perlu melakukannya.
Berikut ini akan menarik semua notifikasi tambahkan teman dengan {"sender": "safari"}
dari sub larik dokumen yang cocok dengan {"username": "amitverma"}
db.yourcollection.update({"username": "amitverma"}, {
$pull: {"notifications.notifications_add_friend": {"sender": "safari"}}
})
Mengenai komentar Anda, jika Anda ingin memperbarui elemen tertentu, Anda akan gunakan $set
dalam kombinasi dengan $elemMatch
dan operator posisi $
. Misalnya, sesuatu seperti:
db.yourcollection.update({
"username": "amitverma",
"notifications.notifications_add_friend": {
$elemMatch: {"sender": "safari"}
}
}, {
$set: {
"notifications.notifications_add_friend.$.isUnread": false
}
})