Myślę, że to zależy od tego, jak często komentarze będą dodawane do Twojego posta
Jeśli jest to bardzo częste, możesz chcieć uzyskać ostatnią liczbę komentarzy, która byłaby w zapisie wywołania zwrotnego w następujący sposób:
myPost.comments.push({user: 42, text: 'blablabla'});
myPost.save(function (err, post) {
newCount = post.comments.length
});
Pamiętaj, że push() jest niepodzielne w Mongoose. Innymi słowy używa $push pod maską, a nie $set (w przeciwieństwie do nonAtomicPush ). Tak więc teoretycznie dowolna liczba innych operacji push/save do komentarzy może zachodzić jednocześnie, co oznacza, że w podanym przykładzie comments.length niekoniecznie wynosi n+1
Jeśli nie oczekujesz wielu komentarzy, Twój przykład powinien wystarczyć. Od czasu do czasu może być mniej dokładny. Plusem jest to, że będzie to trochę szybsze, ponieważ pobieranie licznika będzie synchroniczne