2011-10-17 22 views
7

Có cảm giác nào khi sử dụng các bộ sưu tập con (khoảng 15) cho mỗi người dùng không? Số lượng người dùng là khoảng 10k. Số lượng hồ sơ trong tiểu bộ sưu tập có thể đạt tới 2 triệu. Hoặc có lẽ tôi nên sử dụng bộ sưu tập lớn thông thường? Cảm ơn câu trả lời của bạn.mongo sử dụng subcollection

Trả lời

8

Bộ sưu tập nhúng làm cho cơ sở dữ liệu đơn giản hơn (chúng giảm số lượng bộ sưu tập) và làm cho cơ sở dữ liệu hoạt động nhanh hơn. Tôi thường cố gắng nhúng mọi thứ và chỉ khi tôi không thể tạo ra các bộ sưu tập riêng biệt. Nếu bộ sưu tập được nhúng của bạn sẽ lớn, bạn có thể loại trừ nó khỏi người dùng trong khi tải:

Truy vấn trên sẽ tải bài đăng mà không có nhận xét. Documentation

Nhưng bộ sưu tập được nhúng cũng làm tăng thêm độ phức tạp. Ví dụ: bạn mongodb không thể sắp xếp bộ sưu tập được nhúng cho bạn. Đặt hàng luôn mặc định. Nhưng bạn có thể làm điều đó ở phía khách hàng. Nếu công việc theo thứ tự mặc định cho bạn, bạn có thể trang lồng nhau thu qua $ lát:

db.posts.find({}, {comments:{$slice: [20, 10]}}) // skip 20, limit 10 

Ngoài ra hãy xem vào doc này về thiết kế giản đồ.

Vì vậy, + 1 để nhúng bất cứ khi nào có thể.

Các vấn đề liên quan