MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

empurrando o objeto para o esquema de matriz no Mongoose


mangusto faz isso para você em uma operação.
Contact.findByIdAndUpdate(
    info._id,
    {$push: {"messages": {title: title, msg: msg}}},
    {safe: true, upsert: true},
    function(err, model) {
        console.log(err);
    }
);

Por favor, tenha em mente que usando este método, você não poderá fazer uso das funções "pré" do esquema.

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

A partir do último mogoose findbyidandupdate precisa ter um parâmetro opcional "new:true" adicionado a ele. Caso contrário, você receberá o documento antigo de volta. Portanto, a atualização para a versão 4.x.x do Mongoose é convertida em:
Contact.findByIdAndUpdate(
        info._id,
        {$push: {"messages": {title: title, msg: msg}}},
        {safe: true, upsert: true, new : true},
        function(err, model) {
            console.log(err);
        }
    );