Tài liệu MongoDB hiện bị giới hạn ở mức tối đa 16MB, vì vậy giả sử các tính toán của Gilbert là chính xác, bạn sẽ không thể lưu trữ tất cả 6 Triệu user_id
s trong Post
tài liệu.
Tuy nhiên, bạn có thể cân nhắc việc lưu trữ các phiếu bầu trong User
tài liệu thay thế (tức là post_id
mà người dùng cụ thể đã bình chọn). Ít có khả năng người dùng bình chọn trên 6 triệu bài đăng khác nhau, vì vậy, bằng cách này, bạn sẽ không nhanh chóng đạt đến giới hạn kích thước.
Một cách khác để xử lý điều này:Nếu bạn mong đợi có nhiều phiếu bầu cho một bài đăng cụ thể, bạn có thể muốn lưu trữ phiếu bầu bên ngoài Post
tài liệu trong một bộ sưu tập riêng biệt và thực hiện một truy vấn bổ sung, tương tự như một bảng nhiều-nhiều JOIN trong kiểu SQL:
user_votes { user_id: ObjectId(...), post_id: ObjectId(...), vote:-1 }
và tạo chỉ mục kết hợp trên (user_id, post_id).