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

Mongoose, MongoDB:Como salvar () documento após push ()?


Acho que depende da frequência com que os comentários serão adicionados ao seu post

Se for muito frequente, convém obter a contagem de comentários mais recente, que estaria em seu retorno de chamada salvo da seguinte forma:
myPost.comments.push({user: 42, text: 'blablabla'});
myPost.save(function (err, post) {
    newCount = post.comments.length
});

Lembre-se que push() é atômico no Mongoose. Em outras palavras, ele usa $push sob o capô e não $set (compare com nonAtomicPush ). Então, em teoria, qualquer número de outros push/saves nos comentários pode acontecer simultaneamente, o que significa que, no seu exemplo, comentários.comprimento não é necessariamente n+1

Se você não está esperando muitos comentários, seu exemplo deve ser suficiente. Pode ser menos preciso de vez em quando. A vantagem é que será um pouco mais rápido, pois a recuperação da contagem será síncrona