Tôi nghĩ nó phụ thuộc vào mức độ thường xuyên các nhận xét sẽ được thêm vào bài đăng của bạn
Nếu nó rất thường xuyên, thì bạn có thể muốn nhận được số lượng nhận xét mới nhất, số này sẽ nằm trong lệnh gọi lại lưu của bạn như sau:
myPost.comments.push({user: 42, text: 'blablabla'});
myPost.save(function (err, post) {
newCount = post.comments.length
});
Hãy nhớ rằng push () là nguyên tử trong Mongoose. Nói cách khác, nó sử dụng $ push ẩn chứ không phải $ set (tương phản với nonAtomicPush ). Vì vậy, về lý thuyết, bất kỳ số lần đẩy / lưu nhận xét nào khác có thể xảy ra đồng thời, điều đó có nghĩa là trong ví dụ đã cho của bạn, nhận xét. Độ dài không nhất thiết là n + 1
Nếu bạn không mong đợi nhiều bình luận, thì ví dụ của bạn là đủ. Nó có thể kém chính xác hơn theo thời gian. Mặt thuận lợi là nó sẽ nhanh hơn một chút vì truy xuất số lượng sẽ đồng bộ