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

Quan hệ được nhúng hoặc được tham chiếu

Trong trường hợp của bạn, tôi khuyên bạn nên sử dụng dữ liệu tham chiếu. Bởi vì tôi cho rằng bạn cần tự thao tác từng bộ sưu tập đó (bạn cần có thể chỉnh sửa / xóa / cập nhật "sản phẩm" bằng _id và thực hiện một số truy vấn phức tạp khác, điều này dễ dàng và hiệu quả hơn nhiều khi bạn có riêng thu thập).

Đồng thời, tôi sẽ lưu trữ một số toàn bộ dữ liệu được nhúng trong bộ sưu tập Người dùng, chỉ để tăng tốc độ hiển thị cho trình duyệt của khách truy cập. Giả sử bạn có trang của người dùng, nơi bạn muốn hiển thị hồ sơ của người dùng và 5 thị trường hàng đầu và 20 sản phẩm hàng đầu. Bạn có thể nhúng top-5 và top-20 mới nhất đó vào tài liệu của Người dùng và cập nhật các đối tượng nhúng đó khi có thị trường / sản phẩm mới. Trong trường hợp này - khi bạn hiển thị trang của người dùng, bạn chỉ cần thực hiện 1 truy vấn tới MongoDB. Vì vậy, điều này hoạt động như bộ nhớ cache. Nếu khách truy cập cần xem thêm sản phẩm, anh ta chuyển đến trang tiếp theo "Sản phẩm" và truy vấn bộ sưu tập "Sản phẩm" riêng biệt trong MongoDB.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. mongodb chèn nhiều tài liệu hoặc cập nhật bằng khóa duy nhất

  2. Làm cách nào để xóa một đối tượng lồng nhau dựa trên ObjectId của nó?

  3. Phân tích cú pháp một chuỗi truy vấn dài trực tiếp tới MongoDB (giống như bạn có thể làm trong SQL)

  4. chỉ định vị trí $ push trong bộ sưu tập bằng Pymongo

  5. Django với MongoDB