2017-07-08 2 views
0

Je suis totalement nouveau à Nodejs, et j'ai essayé de mettre à jour un champ dans ma collection en vain. Voici mon code pour pousser dans un tableau sur le modèle. update array field in modelcollection.save() ne pas persister des données à mongodb

Alors voici mon schéma. course schema

Une raison pour laquelle les modifications ne sont pas enregistrées dans ma base de données? Merci . NB: J'ai essayé d'utiliser markModified('enrolled_courses.completed_lesson'), mais cela ne faisait aucune différence.

Répondre

0
router.route('/yourRoute').post((req, res) => { 

    Schema.findOneAndUpdate({ 
    username: newName 
    }, { 
    $set: { 
     enrolled_courses: [ 
     { 
      key: newValue 

     } 
     ] 
    } 
    }, { 
    upsert: true 
    }, function(err, user) { 
    if (err) { 
     res.json(err); 
    } else { 
     res.send({message: "Successfully updated"}); 

    } 
    }) 

}); 
+0

Hey, merci pour la réponse, mais votre code ne précise pas dans quel but nous essayons de modifier dans le tableau enrolled_courses, et aussi, il ne pousse pas dans le tableau completed_lessons aussi. d'autres idées s'il vous plaît? –