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

MongoDB:memperbarui array dalam array

Setelah beberapa penelitian lebih lanjut, sepertinya satu-satunya cara untuk memodifikasi array di dalam array adalah dengan beberapa logika luar untuk menemukan indeks elemen yang ingin saya ubah. Melakukan hal ini akan membutuhkan setiap perubahan untuk memiliki kueri pencarian untuk menemukan indeks, dan kemudian kueri pembaruan untuk memodifikasi larik. Sepertinya ini bukan cara terbaik.

Tautan ke kasus JIRA 2010 yang meminta beberapa elemen posisi...

Karena saya akan selalu mengetahui ID fitur tersebut, saya memilih untuk merevisi struktur dokumen saya.

     {
    "_id" : "v5y8nggzpja5Pa7YS",
    "name" : "Example",
    "display_name" : "EX1",
    "groups" : [
        {
            "_id" : "s86CbNBdqJnQ5NWaB",
            "name" : "Group1",
            "display_name" : "G1",
            "features" : {
               "1" : {
                       type     : "blog",
                       name     : "[blog name]"
                       owner_id : "ga5YgvP5yza7pj8nS"
               }, 
            }
         },
     ]
 },

Dengan struktur baru, perubahan dapat dilakukan dengan cara berikut:

db.orgs.update({_id: "v5y8nggzpja5Pa7YS", "groups._id": "s86CbNBdqJnQ5NWaB"}, {$set: {"groups.$.features.1.name":"Blog Test 1"}});



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Memetakan 'array objek' ke array sederhana dari nilai kunci

  2. Maven tidak berjalan dengan Spigot

  3. MongoDB $reverseArray

  4. Shell dan server MongoDB tidak cocok

  5. Temukan Lokasi di dalam Lingkaran yang tersimpan