MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Jak zaktualizować dokumenty MongoDB za pomocą tablic poddokumentów?

Jest na to kilka sposobów, odpowiem punkt po punkcie

Pobierz wyniki wszystkich uczniów lub konkretnego ucznia (pobierz określony element z tablicy wyników)

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

Dodaj/ zaktualizuj/ usuń punktację konkretnego ucznia dla określonego przedmiotu (w przypadku aktualizacji lub usunięcia, pobierz określony element z tablicy scores[n].performance; w celu dodania dołącz do tej samej tablicy.

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

Mam nadzieję, że to pomoże




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB — ustawianie instrukcji warunkowej w .find()

  2. Atrybut Mongoengine creation_time w dokumencie

  3. Mongo usuwa duplikaty w tablicy obiektów na podstawie pola

  4. Spring Data REST :niestandardowe zapytanie dla repozytorium MongoDB

  5. Sprawdź aktualną liczbę połączeń z MongoDb