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

Atualizar e devolver documento no Mongodb


collection.update() reportará apenas o número de documentos que foram afetados ao seu próprio retorno de chamada.

Para recuperar os documentos durante a modificação, você pode usar collection.findOneAndUpdate() em vez disso (anteriormente .findAndModify() ).
collection.findOneAndUpdate(
    { "code": req.body.code },
    { $set: req.body.updatedFields },
    { returnOriginal: false },
    function (err, documents) {
        res.send({ error: err, affected: documents });
        db.close();
    }
);

O returnOriginal opção (ou new com Mongoose) permite especificar qual versão de um documento encontrado (original [padrão] ou atualizado) é passado para o retorno de chamada.

O returnDocument: "before" | "after" funciona para a versão 3.6.9 .

Isenção de responsabilidade:esta resposta atualmente se refere ao driver Node.js a partir da versão 3.6. À medida que novas versões são lançadas, verifique sua documentação para possíveis novos avisos de descontinuação e alternativas recomendadas.