Hướng dẫn when should we embedded a document with another in mongodb? - khi nào chúng ta nên nhúng một tài liệu với một tài liệu khác trong mongodb?
Tài liệu về nhà → Hướng dẫn sử dụng MongoDB → MongoDB Manual Show
Trang này mô tả một mô hình dữ liệu sử dụng các tài liệu nhúng để mô tả mối quan hệ một-nhiều giữa dữ liệu được kết nối. Nhúng dữ liệu được kết nối vào một tài liệu duy nhất có thể giảm số lượng hoạt động đọc cần thiết để có được dữ liệu. Nói chung, bạn nên cấu trúc lược đồ của mình để ứng dụng của bạn nhận được tất cả thông tin cần thiết trong một thao tác đọc. Hãy xem xét các ví dụ sau đây ánh xạ người bảo trợ và nhiều mối quan hệ địa chỉ. Ví dụ minh họa lợi thế của việc nhúng trong việc tham khảo nếu bạn cần xem nhiều thực thể dữ liệu trong bối cảnh của một thực thể khác. Trong mối quan hệ một-nhiều này giữa dữ liệu Trong mô hình dữ liệu được chuẩn hóa, các tài liệu
Nếu ứng dụng của bạn thường xuyên truy xuất dữ liệu 2, thì ứng dụng của bạn cần phát hành nhiều truy vấn để giải quyết các tài liệu tham khảo. Một lược đồ tối ưu hơn sẽ là nhúng các thực thể dữ liệu address vào dữ liệu patron , như trong tài liệu sau:
Với mô hình dữ liệu được nhúng, ứng dụng của bạn có thể lấy thông tin bảo trợ hoàn chỉnh bằng một truy vấn. Một vấn đề tiềm năng với mẫu tài liệu nhúng là nó có thể dẫn đến các tài liệu lớn, đặc biệt là nếu trường nhúng không bị ràng buộc. Trong trường hợp này, bạn có thể sử dụng mẫu tập hợp con để chỉ truy cập dữ liệu được yêu cầu bởi ứng dụng, thay vì toàn bộ tập hợp dữ liệu được nhúng.embedded document pattern is that it can lead to large documents, especially if the embedded field is unbounded. In this case, you can use the subset pattern to only access data which is required by the application, instead of the entire set of embedded data. Xem xét một trang web thương mại điện tử có danh sách các đánh giá cho một sản phẩm:
Các đánh giá được sắp xếp theo thứ tự thời gian ngược. Khi người dùng truy cập trang sản phẩm, ứng dụng sẽ tải mười đánh giá gần đây nhất. Thay vì lưu trữ tất cả các đánh giá với sản phẩm, bạn có thể chia bộ sưu tập thành hai bộ sưu tập:
Bằng cách lưu trữ mười đánh giá gần đây nhất trong bộ sưu tập 5, chỉ có tập hợp con yêu cầu của dữ liệu tổng thể được trả về trong cuộc gọi cho bộ sưu tập 5. Nếu người dùng muốn xem các đánh giá bổ sung, ứng dụng gọi điện đến bộ sưu tập 6.MẹoKhi xem xét nơi phân chia dữ liệu của bạn, phần dữ liệu được truy cập thường xuyên nhất trong bộ sưu tập mà ứng dụng tải trước. Trong ví dụ này, lược đồ được chia ở mười đánh giá vì đó là số lượng đánh giá có thể hiển thị trong ứng dụng theo mặc định. MẹoKhi xem xét nơi phân chia dữ liệu của bạn, phần dữ liệu được truy cập thường xuyên nhất trong bộ sưu tập mà ứng dụng tải trước. Trong ví dụ này, lược đồ được chia ở mười đánh giá vì đó là số lượng đánh giá có thể hiển thị trong ứng dụng theo mặc định.Xem thêm: Sử dụng các tài liệu nhỏ hơn chứa dữ liệu được truy cập thường xuyên hơn làm giảm kích thước tổng thể của bộ làm việc. Các tài liệu nhỏ hơn này dẫn đến hiệu suất đọc được cải thiện cho dữ liệu mà ứng dụng truy cập thường xuyên nhất. Tuy nhiên, mẫu tập hợp con dẫn đến sao chép dữ liệu. Trong ví dụ, các đánh giá được duy trì trong cả bộ sưu tập 5 và bộ sưu tập 1. Các bước bổ sung phải được thực hiện để đảm bảo rằng các đánh giá phù hợp giữa mỗi bộ sưu tập. Ví dụ: khi khách hàng chỉnh sửa đánh giá của họ, ứng dụng có thể cần thực hiện hai hoạt động ghi: một để cập nhật bộ sưu tập 5 và một để cập nhật bộ sưu tập 1.Bạn cũng phải triển khai logic trong ứng dụng của mình để đảm bảo rằng các đánh giá trong bộ sưu tập 5 luôn là mười đánh giá gần đây nhất cho sản phẩm đó.
Khi nào một tài liệu trong MongoDB được nhúng bên trong một tài liệu khác?Một tài liệu MongoDB nhúng, hoặc lồng nhau là một tài liệu bình thường được lồng trong một tài liệu khác trong bộ sưu tập MongoDB. Các tài liệu nhúng đặc biệt hữu ích khi mối quan hệ một-nhiều tồn tại giữa các tài liệu.when a one-to-many relationship exists between documents.
Khi nào chúng ta nên nhúng một tài liệu với một tài liệu khác?Vì thông tin hoàn toàn chứa trong một tài liệu từ, việc nhúng rất hữu ích khi bạn không muốn thông tin phản ánh các thay đổi trong tệp nguồn hoặc khi bạn không muốn người nhận tài liệu quan tâm đến việc cập nhật thông tin được liên kết.
Tại sao MongoDB sử dụng các tài liệu nhúng?Các tài liệu nhúng là một cách hiệu quả và sạch sẽ để lưu trữ dữ liệu liên quan, đặc biệt là dữ liệu thường xuyên được truy cập cùng nhau.Nói chung, khi thiết kế các lược đồ cho MongoDB, bạn nên thích nhúng theo mặc định và sử dụng các tài liệu tham khảo và phía ứng dụng hoặc bên cơ sở dữ liệu chỉ tham gia khi chúng đáng giá.an efficient and clean way to store related data, especially data that's regularly accessed together. In general, when designing schemas for MongoDB, you should prefer embedding by default, and use references and application-side or database-side joins only when they're worthwhile.
Một tài liệu trong MongoDB có thể chứa một tài liệu khác không?MongoDB cung cấp cho bạn một tính năng thú vị được gọi là tài liệu nhúng hoặc lồng nhau.Tài liệu nhúng hoặc tài liệu lồng nhau là những loại tài liệu có chứa tài liệu bên trong một tài liệu khác.Embedded or Nested Document. Embedded document or nested documents are those types of documents which contain a document inside another document. |