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
}
})