Chèn tài liệu nhúng vào mongodb
Vì vậy, các bộ sưu tập riêng biệt sẽ tốt nếu bạn cần chọn các tài liệu riêng lẻ, cần kiểm soát nhiều hơn đối với truy vấn hoặc có nhiều tài liệu Show
Tài liệu được nhúng rất tốt khi bạn muốn có toàn bộ tài liệu, tài liệu có $slice nhận xét hoặc không có nhận xét nào cả Nhiều bạn nhận thấy rằng việc thực hiện upserts, inserts, update, delete không liên quan đến MongoDB Aggregation Framework (AF). Tuy nhiên với AF, chúng tôi vẫn có quyền chèn hoặc cập nhật tập kết quả của nó nếu chúng tôi chọn. Không phải lúc nào chúng tôi cũng phải trả lại tập kết quả cho khách hàng. Điều này cho phép chúng tôi định hình lại dữ liệu. Chúng ta sẽ nói về điều đó sau trong loạt bài này Nếu bạn mới sử dụng MongoDB, bạn có thể chưa có nhiều kinh nghiệm làm việc với các tài liệu được nhúng. Tuy nhiên, bạn nên dành thời gian để tìm hiểu cách sử dụng chúng– mô hình tài liệu nhúng là một khái niệm mạnh mẽ, cho phép bạn lưu trữ tất cả các loại thông tin liên quan trong một tài liệu duy nhất. Cấu trúc cơ sở dữ liệu “không chuẩn hóa” này mang lại hiệu suất tốt hơn và thường cho phép các ứng dụng thực hiện ít truy vấn hơn. Trong hướng dẫn này, chúng tôi sẽ cung cấp hướng dẫn cách làm việc với một tài liệu được nhúng trong bộ sưu tập MongoDB điều kiện tiên quyếtTrước khi chúng ta có thể xem xét một số ví dụ, điều quan trọng là phải xem xét các yêu cầu hệ thống. Đối với nhiệm vụ này, có một vài điều kiện tiên quyết quan trọng phải được thực hiện trước khi tiếp tục
GHI CHÚ. Đối với các ví dụ được mô tả trong hướng dẫn này, chúng tôi giả định rằng phiên bản MongoDB được sử dụng là 4. 0 và Trình điều khiển Java MongoDB là 3. 8. 2 Tài liệu MongoDB nhúng là gì?Tại thời điểm này, chúng ta sắp sẵn sàng đi sâu vào một số ví dụ mã, nhưng trước tiên, hãy dành một chút thời gian để hiểu các tài liệu được nhúng và cách chúng hoạt động. Tài liệu MongoDB được nhúng hoặc lồng nhau là một tài liệu bình thường được lồng bên trong một tài liệu khác trong bộ sưu tập MongoDB Phần sau đây hiển thị một mẫu của tài liệu được nhúng 1 { Các tài liệu được nhúng đặc biệt hữu ích khi tồn tại mối quan hệ một-nhiều giữa các tài liệu. Trong ví dụ hiển thị ở trên, chúng tôi thấy rằng một khách hàng có nhiều địa chỉ được liên kết với anh ta. Cấu trúc tài liệu lồng nhau giúp dễ dàng truy xuất thông tin địa chỉ đầy đủ về khách hàng này chỉ bằng một truy vấn Khi nào nên sử dụng Tài liệu MongoDB được nhúngCó một số điểm chính cần xem xét trước khi sử dụng cấu trúc tài liệu nhúng trong MongoDB
Kết nối với Triển khai MongoDBBây giờ chúng ta hãy chú ý đến mã Java. Ví dụ của chúng tôi bắt đầu bằng một kết nối với MongoDB MongoClient mongo = MongoClients. tạo ("mongodb. //127. 0. 0. 1. 27017"); Mã hiển thị ở trên thiết lập kết nối với triển khai MongoDB. Sau đó, nó tiến hành truy cập cả cơ sở dữ liệu (customerDB) và bộ sưu tập (customerCollection) Chèn Tài liệu MongoDB đã nhúng bằng JavaTiếp theo, hãy thử chèn một tài liệu nhúng vào bộ sưu tập MongoDB của chúng tôi. Đoạn mã dưới đây sẽ chèn một tài liệu MongoDB được nhúng ở định dạng Mảng bằng cách sử dụng LƯU Ý Lược đồ tài liệu hiển thị bên dưới chỉ dành cho mục đích demo 1 Tài liệu nestDoc = new Document("customerName", "Yeshua Galisanao") Với việc sử dụng Để xác minh xem thao tác trên có được thực hiện thành công hay không, hãy sử dụng lệnh hiển thị bên dưới trong trình bao Mongo db. bộ sưu tập khách hàng. tìm thấy(). khá() Kết quả sẽ giống như sau 1 { Các kết quả được mô tả ở trên hiển thị một tài liệu nhúng trong tài liệu MongoDB. Trường Bây giờ chúng ta đã thấy cách chèn một tài liệu được nhúng, hãy thử cập nhật một tài liệu. Mã được hiển thị bên dưới sẽ cập nhật tài liệu MongoDB được nhúng bằng MongoDB “Ký hiệu dấu chấm” Ký hiệu dấu chấm — MongoDB sử dụng ký hiệu dấu chấm để cho phép người dùng truy cập các phần tử của một mảng và có thể truy cập các trường tồn tại trong tài liệu được nhúng Truy vấn BasicDBObject = new BasicDBObject(); Cập nhật BasicDBObject = new BasicDBObject(); db. getCollection("customerCollection"). updateOne( Hình ảnh dưới đây cho thấy cấu trúc phân cấp của tài liệu Các tài liệu Hãy xem kỹ đoạn mã sau cập nhật. put("$set", new BasicDBObject("địa chỉ khách hàng. 1. phụĐịa chỉ. 0. phố", "#15 2 Phố dễ dàng")); Mã này sẽ truy cập trường Để xác minh bằng trình bao MongoDB Kết quả sẽ giống như sau 1 { Lưu ý rằng giá trị của trường Phần kết luậnKhi bạn có tài liệu tồn tại mối quan hệ một-nhiều, có thể hữu ích khi sử dụng cấu trúc tài liệu được nhúng hoặc lồng nhau. Làm việc với một tài liệu nhúng trong bộ sưu tập MongoDB không khó miễn là bạn hiểu cấu trúc độc đáo này nên được sử dụng như thế nào. Hướng dẫn này chỉ cho bạn cách chèn và cập nhật Tài liệu MongoDB được nhúng bằng Java. Đảm bảo chuyển sang Phần 2 của hướng dẫn này để tìm hiểu thêm về cách tương tác với các tài liệu MongoDB được nhúng Làm cách nào để chèn tài liệu lồng nhau trong MongoDB?Như chúng ta biết rằng trong mongo shell, các tài liệu được biểu diễn bằng dấu ngoặc nhọn ( {} ) và bên trong các dấu ngoặc nhọn này, chúng ta có các cặp trường-giá trị. Bây giờ bên trong các trường này, chúng ta có thể nhúng tài liệu khác bằng cách sử dụng dấu ngoặc nhọn {} và tài liệu này có thể chứa các cặp giá trị trường hoặc tài liệu phụ khác.
Tại sao MongoDB sử dụng tài liệu nhúng?Tài liệu nhúng là một cách hiệu quả và rõ ràng để 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ế lược đồ cho MongoDB, bạn nên nhúng theo mặc định và chỉ sử dụng các tham chiếu và phép nối phía ứng dụng hoặc phía cơ sở dữ liệu khi chúng đáng giá.
Dữ liệu nhúng trong MongoDB là gì?Dữ liệu nhúng
. Các mô hình dữ liệu không chuẩn hóa này cho phép các ứng dụng truy xuất và thao tác dữ liệu liên quan trong một thao tác cơ sở dữ liệu. MongoDB documents make it possible to embed document structures in a field or array within a document. These denormalized data models allow applications to retrieve and manipulate related data in a single database operation.
Khi nào chúng ta nên nhúng tài liệu này với tài liệu khác trong MongoDB?Tài liệu MongoDB được nhúng hoặc lồng nhau là một tài liệu bình thường được lồng bên trong một tài liệu khác trong bộ sưu tập MongoDB. Tài liệu được nhúng đặc biệt hữu ích khi tồn tại mối quan hệ một-nhiều giữa các tài liệu . |