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

Cấu trúc dữ liệu tốt nhất để lưu trữ dữ liệu này trên mongoDB là gì?

Cấu trúc của bạn trông đúng. Bạn đang chỉ lưu trữ news_id trong trường dữ liệu và đó là cách triển khai thông minh hơn vì việc lưu trữ tài liệu hoàn chỉnh sẽ khiến MongoDB phải di chuyển và viết rất nhiều mỗi khi người dùng thêm tin tức mới vào mục yêu thích.

Lý do, mà bạn có thể đã biết, là một tài liệu mới được tạo trên mỗi bản cập nhật. Tham khảo: http://docs.mongodb.org/ manual / reference / method / db.collection.save / # upsert .

Ngoài ra, tôi nghĩ rằng theo quy tắc kinh doanh, bạn nên hạn chế số lượng các mục tin tức có thể được người dùng đặt là yêu thích. Cho phép danh sách này phát triển vô thời hạn sẽ không phải là một ý tưởng hay cho thiết kế nhúng.

Trong trường hợp bạn muốn có số lượng mục yêu thích không giới hạn, tốt hơn bạn nên tạo một bộ sưu tập riêng cho bộ sưu tập đó và sau đó để nhận được tất cả các mục yêu thích bởi người dùng, hãy sử dụng các toán tử $ match (trên id của người dùng) và $ sort (trong số các mục tin tức) trong một truy vấn tổng hợp để nhận danh sách các mục tin tức yêu thích đã được sắp xếp cho người dùng.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. kết nối với Mongodb bên trong một docker với GUI la bàn mongodb

  2. Mongo DB - xuất ở chế độ mở rộng JSON

  3. Làm thế nào để cập nhật nếu tồn tại nếu không, chèn tài liệu mới?

  4. Angular Google Maps / NodeJS:Hiển thị điểm đánh dấu từ cơ sở dữ liệu

  5. mongodb num_rows php tương đương