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

Cara memperbarui dokumen MongoDB dengan larik sub-dokumen

Ada beberapa cara untuk melakukan ini, saya akan menjawab poin demi poin

Ambil skor untuk semua siswa, atau untuk siswa tertentu (ambil elemen tertentu dalam larik skor)

Class.findOne({ name: 'Grade 5 - Section A'})
     .populate('scores.studentId')
     .exec(function(err, class) {
       if (err) throw err;
       //now class.scores.studentId becomes ObjectStudent
       //hence you have all scores for all students
});

Tambah/ perbarui/ hapus skor siswa tertentu, untuk mata pelajaran tertentu (dalam hal memperbarui atau menghapus, ambil elemen tertentu dalam skor[n]. larik kinerja; untuk tambah, tambahkan ke larik yang sama.

Class.findOneAndUpdate({name: 'Grade 5 - Section A'
                        ,'scores.studentId': ObjectId('5776bd36ffc8227405d364d2')
                        , 'scores.performance.subjectId' : ObjectId('577694ecbf6f3a781759c54a')}
                        , {$set: {scores.performance. score: 50}}
                        , function(err, data) {
           if (err) throw err
    });

Semoga membantu




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mengurutkan dalam MongoDB berdasarkan elemMatch

  2. MongoDB:Memasang dan Sub dokumen

  3. Perbarui semua elemen dalam array di mongodb

  4. Django-nonrel menggunakan ListField yang berisi EmbeddedObjects di admin

  5. Masukkan ke dalam dokumen yang sangat bersarang MongoDB