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

Thiết kế lược đồ MongoDB - Bộ sưu tập hay tài liệu tham khảo mới?

Giới thiệu:

Trong trường hợp của bạn, cả hai biến thể đều tốt vì danh mục chỉ liệt kê một danh mục mà bạn không cần tải danh mục để hiển thị khóa học, bạn chỉ cần tạo một số liệt kê và lấy tên danh mục theo id.

Nhưng trong ví dụ:nếu bạn có table db.users và mỗi người dùng có bộ sưu tập db.courses, bạn không cần tạo tài liệu riêng biệt mà chỉ cần các khóa học bộ sưu tập lồng nhau của bạn. Và nó thực sự tuyệt vời vì trong sql, bạn cần tạo một bảng riêng biệt với một đến nhiều tham chiếu.

Một lợi ích lớn của cơ sở dữ liệu tài liệu là bạn có thể tạo các tài liệu lớn với các bộ sưu tập lồng nhau và không cần nối các bảng.

Trả lời:

Vì vậy, trong trường hợp của bạn, tôi đề xuất hai cách:

  1. Tạo bảng liệt kê cho các danh mục và lấy tên danh mục theo id (nhưng không tải từ mongo).
  2. Chỉ cần sao chép tên danh mục trong khóa học (Nhưng trường hợp đầu tiên tốt hơn vì trong trường hợp nếu tên danh mục bị thay đổi, bạn cần cập nhật mỗi khóa học với tên danh mục mới).



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Giảm tốc độ MongoDb

  2. sắp xếp mongodb và truy vấn regex theo cách hiệu quả

  3. Xóa bản sao trong MongoDB

  4. Xóa trường con khỏi tài liệu mongoDb

  5. Làm thế nào để hiển thị chi tiết pymongo.errors.OperationFailure?