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

Khi nào nhúng tài liệu vào Mongo DB

Chìa khóa ở đây không phải là về "đây có phải là mối quan hệ không?" và nhiều thông tin khác về "làm cách nào để truy cập vào trang này?"

MongoDB không phải là "phản tham chiếu". MongoDB không không có lợi ích của việc tham gia, nhưng nó không có lợi ích của các tài liệu nhúng.

Miễn là bạn hiểu những đánh đổi này thì việc sử dụng các tham chiếu trong MongoDB là hoàn toàn hợp lý. Thực sự là về cách bạn định truy vấn các đối tượng này.

Có lẽ. Một số điều cần xem xét.

  • Làm games có giá trị bên ngoài ngữ cảnh của user ?
  • Có bao nhiêu games sẽ là một user có?
  • games về bản chất giao dịch?
  • Làm cách nào để bạn truy cập games ? Bạn có luôn cần tất cả trò chơi của người dùng không?

Nếu bạn đang lên kế hoạch xây dựng bảng xếp hạng và một người dùng có thể tạo ra hàng trăm tài liệu trò chơi, thì việc có trò chơi trong bộ sưu tập của riêng họ là điều hợp lý. Lưu trữ mười nghìn phiên bản "trò chơi" bên trong của mỗi người dùng không đặc biệt hữu ích.

Nhưng tùy thuộc vào câu trả lời của bạn cho những điều trên, bạn thực sự có thể đi theo một trong hai cách. Như bài kiểm tra giấy quỳ, tôi sẽ thử chạy một số Bản đồ / Rút gọn công việc ( tức là tạo một bảng thành tích đơn giản ) để xem bạn cảm thấy thế nào về cấu trúc dữ liệu của mình.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Tên trường tài liệu không được bắt đầu bằng '$' (Bad Key:'$ set')

  2. Cách lưu trữ trường Ngày dưới dạng ISODate () bằng jackson trong MongoDb

  3. Tổng hợp MongoDB - giá trị trường dự án dưới dạng trường

  4. Giao dịch Mongodb v4.0, MongoError:Số giao dịch chỉ được phép trên một thành viên hoặc mongos đặt bản sao

  5. Tìm kiếm theo phần tử của một đối tượng trong một mảng