Nếu bạn có nhiều dữ liệu, thì tôi sẽ áp dụng cùng một cách tiếp cận và tăng bộ đếm tổng hợp bất cứ khi nào một tin nhắn mới được thêm vào cho người dùng, sử dụng một bộ sưu tập như sau:
số lượng
{
userid: 123,
messages: 10
}
Thật không may (hoặc may mắn thay?) Không có trình kích hoạt nào trong MongoDB, vì vậy bạn sẽ tăng bộ đếm từ logic ứng dụng của mình:
db.counts.update( { userid: 123 }, { $inc: { messages: 1 } } )
Điều này sẽ mang lại cho bạn hiệu suất tốt nhất và bạn cũng có thể đặt một chỉ mục trên userid
trường để tra cứu nhanh:
db.counts.ensureIndex( { userid: 1 } )