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

MongoDB memperbarui bidang dalam array bersarang

Masalah ini telah diselesaikan. Fitur memperbarui bidang di dalam array objek bersarang, tersedia di versi MongoDB 3.6+. Lihat operator posisi (semua dan dengan pengenal) di sini.

//Update all docs in collection matching photo name "play" to "play photo"
db.collectioname.update(
    {},
    { $set: { "albums.$[].photos.$[photo_field].name": "play photo" } },
    { arrayFilters: [  {"photo_field.name": "play"} ], multi: true}
);

//Update this specific doc given in question matching photo name "play" to "play photo"
db.collectioname.update(
    {"_id" : ObjectId("4f41a5c7c32810e404000000")},
    { $set: { "albums.$[].photos.$[photo_field].name": "play photo" } },
    { arrayFilters: [  {"photo_field.name": "play"} ]}
);

Ini untuk bantuan orang-orang yang datang ke sini setelah MongoDB 3.6



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. GSSException:Tidak ada kredensial valid yang diberikan (Tingkat mekanisme:Gagal menemukan Kerberos tgt)

  2. MongoDB - mematikan dengan kode:62

  3. MongoDB membatasi ukuran penyimpanan?

  4. Gunakan MongoEngine dan PyMongo bersama-sama

  5. Urutkan array objek bersarang