MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

pousser l'objet dans le schéma de tableau dans Mongoose

mangouste le fait pour vous en une seule opération.

Contact.findByIdAndUpdate(
    info._id,
    {$push: {"messages": {title: title, msg: msg}}},
    {safe: true, upsert: true},
    function(err, model) {
        console.log(err);
    }
);

Veuillez garder à l'esprit qu'en utilisant cette méthode, vous ne pourrez pas utiliser les fonctions "pré" du schéma.

http://mongoosejs.com/docs/middleware.html

Depuis la dernière version de mogoose, findbyidandupdate doit avoir un paramètre optionnel "new :true" ajouté. Sinon, l'ancien document vous sera renvoyé. Par conséquent, la mise à jour pour Mongoose Version 4.x.x se convertit en :

Contact.findByIdAndUpdate(
        info._id,
        {$push: {"messages": {title: title, msg: msg}}},
        {safe: true, upsert: true, new : true},
        function(err, model) {
            console.log(err);
        }
    );