Làm thế nào tôi có thể thực hiện một khóa ngoại như mối quan hệ trong Mongo DB?Quan hệ ngoại giao như mối quan hệ ở Mongo DB
Trả lời
hiya thấy điều này: MongoDB normalization, foreign key and joining & & thêm http://shop.oreilly.com/product/0636920018391.do ===>http://books.google.com/books/about/Document_Design_for_MongoDB.html?id=TbIHkgEACAAJ&redir_esc=y
MongoDB không hỗ trợ phía máy chủ các mối quan hệ chính nước ngoài, bình thường cũng không được khuyến khích. Bạn nên nhúng đối tượng con của bạn trong các đối tượng cha mẹ nếu có thể, điều này sẽ làm tăng hiệu suất và làm cho các khóa lạ hoàn toàn không cần thiết. Điều đó nói rằng nó không phải là luôn luôn có thể, do đó, có một cấu trúc đặc biệt gọi là DBRef cho phép các đối tượng tham chiếu trong một bộ sưu tập khác. Điều này có thể sau đó không quá nhanh chóng vì DB phải thực hiện các truy vấn bổ sung để đọc các đối tượng nhưng cho phép loại tham chiếu khóa ngoài.
Tuy nhiên, bạn sẽ phải xử lý các tham chiếu của mình theo cách thủ công. Chỉ trong khi tìm kiếm DBRef của bạn, bạn sẽ thấy nếu nó tồn tại, DB sẽ không đi thông qua tất cả các tài liệu để tìm các tài liệu tham khảo và loại bỏ chúng nếu mục tiêu của tham chiếu không tồn tại nữa. Nhưng tôi nghĩ rằng xóa tất cả các tham chiếu sau khi xóa sách sẽ yêu cầu một truy vấn đơn cho mỗi bộ sưu tập, không còn nữa, vì vậy điều đó không thực sự khó.
Sửa cập nhật
http://levycarneiro.com/tag/mongodb/
levycarneiro.com/tag/mongodb [quote] Vì vậy, bạn tạo ra 4 bộ sưu tập: Khách hàng, nhà cung cấp, nhân viên và Danh bạ. Bạn kết nối tất cả chúng với nhau thông qua một tham chiếu db. Điều này hoạt động như một khóa ngoại. Nhưng, đây không phải là cách mongoDB để làm việc. Hiệu suất sẽ bị phạt. [unquote]
- 1. Thiết kế Mongo DB, nhúng với các mối quan hệ
- 2. Quan hệ giữa Mongo DB giữa các đối tượng
- 3. Sqlalchemy, mối quan hệ và mối quan hệ
- 4. Cách giữ quan hệ khóa ngoại nhất quán trong hệ thống quan hệ "hình kim cương" của mối quan hệ
- 5. Lọc mối quan hệ Nhiều-Nhiều từ trường Mối quan hệ ở Django
- 6. Mối quan hệ Laravel
- 7. Một mối quan hệ ở trạng thái Deleted
- 8. Tham chiếu tuần hoàn trong mối quan hệ nhiều chiều đến nhiều mối quan hệ
- 9. Yii nhiều mối quan hệ
- 10. Fetch Mối quan hệ Objects
- 11. Tìm hiểu các mối quan hệ và mối quan hệ dữ liệu của Orchard
- 12. Nhiều mối quan hệ với dữ liệu bổ sung về mối quan hệ
- 13. Mối quan hệ và tải xuống phụ ở SubSonic 3.0
- 14. Nhiều mối quan hệ với nhiều người
- 15. Phân rã một mối quan hệ ternary vào mối quan hệ nhị phân
- 16. IDbSetExtensions.AddOrUpdate và các mối quan hệ
- 17. Grails 1-1 mối quan hệ
- 18. Hibernate @ManyToMany xóa mối quan hệ
- 19. Tạo Phân đoạn Mối quan hệ
- 20. cách tránh trùng lặp trong mối quan hệ has_many: thông qua mối quan hệ?
- 21. Django DatabaseError: mối quan hệ "django_site"
- 22. Chủ sở hữu mối quan hệ nghĩa là gì trong mối quan hệ hai chiều?
- 23. Mối quan hệ giữa nhiều mối quan hệ giữa nhiều mô hình
- 24. Làm thế nào để có mối quan hệ với một mối quan hệ luôn được nhúng
- 25. Nhận ID ContentType ở Django cho mối quan hệ chung
- 26. Mối quan hệ giữa UIView và CALayer
- 27. REST - mở rộng mối quan hệ
- 28. SQL cho mối quan hệ phân cấp
- 29. mối quan hệ SQLAlchemy với PostgreSQL ARRAY
- 30. Nhiều mối quan hệ trong JSON
Thú vị. Nó có nghĩa là gì bởi "nhúng các đối tượng con trong đối tượng cha mẹ"? Điều đó có nghĩa là nếu bạn có mối quan hệ đơn đặt hàng/chi tiết đơn hàng, bạn sẽ thêm đối tượng chi tiết đơn hàng làm thuộc tính trong tài liệu đơn đặt hàng? – McGarnagle
Hiya, Thật vậy, tôi nghĩ; Bài viết thú vị ở đây - http://levycarneiro.com/tag/mongodb/ [quote] Vì vậy, bạn tạo 4 bộ sưu tập: Khách hàng, Nhà cung cấp, Nhân viên và Liên hệ. Bạn kết nối tất cả chúng với nhau thông qua một tham chiếu db. Điều này hoạt động như một khóa ngoại. Nhưng, đây không phải là cách mongoDB để làm việc. Hiệu suất sẽ bị phạt. [unquote] - :) chúc mừng –
Tuyệt vời, nó thực sự hữu ích Tats. Thực ra, Mongo DB không hiệu quả lắm khi thực hiện tham chiếu giữa các đối tượng, như tôi đã hiểu. –