MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Mongoose, MongoDB:Làm cách nào để lưu () tài liệu sau khi push ()?

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ộ




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Không thể giải quyết từ chối lời hứa và gửi mảng dưới dạng phản hồi

  2. Tải xuống tệp không hoạt động với nodejs gridfs

  3. Chuyển đổi chuỗi thành ObjectID trong MongoDB

  4. Làm thế nào để viết bson dạng truy vấn mongo trong golang?

  5. MongoDB:Làm thế nào để phân tích cú pháp ngày trong phiên bản 3.6 mongoDb?