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

Meteor mongo memperbarui susunan bersarang

Jadi hal pertama yang harus dikatakan di sini adalah $elemMatch tidak diperlukan dalam kasus Anda karena Anda hanya ingin mencocokkan pada satu properti array. Anda menggunakan operator itu saat Anda membutuhkan "dua atau lebih" properti dari elemen larik yang sama agar sesuai dengan kondisi Anda. Jika tidak, Anda cukup menggunakan "notasi titik" sebagai standar.

Kasus kedua di sini adalah dengan $push , di mana operator tertentu itu berarti "menambahkan" elemen ke array. Dalam kasus Anda, Anda hanya ingin "memperbarui" sehingga operator yang benar di sini adalah $set :

Activity.update(
    { "_id": activityId, "usersActivities.userId": Meteor.userId() },
    {
        "$set": {
            'usersActivities.$.startDate': start,
            'usersActivities.$.endDate': end
        }
    }
)

Jadi posisi $ operator di sini adalah yang cocok dengan "indeks yang ditemukan" dari elemen array dan mengizinkan $set operator untuk "mengubah" elemen yang cocok dengan "posisi" itu.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bagaimana cara mereferensikan skema lain dalam skema Mongoose saya?

  2. Spring Data Mongo Repository ::Metode bersama yang umum di semua masalah Repo

  3. Menggunakan fungsionalitas Mongoose / MongoDB $addToSet pada array objek

  4. Mongodb, temukan apakah koleksi kosong, node.js

  5. Agregasi MongoDB:Bagaimana cara mendapatkan jumlah catatan total?