MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Operasi pembaruan Mongodb di dalam sub array

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



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bagaimana cara mendapatkan semua item yang cocok dari array objek di MongoDB?

  2. mongodb dapatkan _id sebagai string dalam permintaan pencarian

  3. Mongodb C# pembaruan/penggantian massal pada subkoleksi

  4. Apakah praktik terbaik Java untuk menyimpan tanggal sebagai long di database Anda?

  5. Status Set Replika MonogoDB Tidak berubah dari Startup ke Sekunder