Hướng dẫn mongodb get only nested object - mongodb chỉ lấy đối tượng lồng nhau
Có thể truy vấn cho các đối tượng cụ thể trong một tài liệu lồng nhau? Đây là một ví dụ,
Tôi muốn truy vấn của tôi để nói Tài liệu về nhà → Hướng dẫn sử dụng MongoDB → MongoDB Manual Sử dụng menu chọn ngôn ngữ của bạn ở phía trên bên phải để đặt ngôn ngữ của các ví dụ sau.Select your language drop-down menu in the upper-right to set the language of the following examples. Ví dụ: truy vấn sau chọn tất cả các tài liệu trong đó trường Bình đẳng phù hợp trên toàn bộ tài liệu nhúng yêu cầu một kết hợp chính xác của tài liệu 0 được chỉ định, bao gồm cả thứ tự trường. Ví dụ: truy vấn sau không khớp với bất kỳ tài liệu nào trong bộ sưu tập 1:Để chỉ định một điều kiện truy vấn trên các trường trong tài liệu nhúng/lồng nhau, hãy sử dụng ký hiệu DOT ( 2).Ghi chú
Khi truy vấn sử dụng ký hiệu DOT, trường và trường lồng nhau phải ở bên trong dấu ngoặc kép. Ví dụ sau chọn tất cả các tài liệu trong đó trường 3 lồng vào trường size bằng 5:Truy vấn sau sử dụng ít hơn toán tử ( 6) trên trường 7 được nhúng trong trường size :
Truy vấn sau chọn tất cả các tài liệu trong đó trường lồng nhau 7 nhỏ hơn > db.queryNestedObject.insertOne( ... { ... "StudentName" : "James", ... "StudentSubjectScore" : [ ... {"StudentMongoDBScore":98}, ... {"StudentCScore":92}, ... {"StudentJavaScore":91} ... ] ... } ... ); { "acknowledged" : true, "insertedId" : ObjectId("5ccf49a9dceb9a92e6aa1962") }0, trường lồng nhau 3 bằng 5 và trường > db.queryNestedObject.insertOne( ... { ... "StudentName" : "James", ... "StudentSubjectScore" : [ ... {"StudentMongoDBScore":98}, ... {"StudentCScore":92}, ... {"StudentJavaScore":91} ... ] ... } ... ); { "acknowledged" : true, "insertedId" : ObjectId("5ccf49a9dceb9a92e6aa1962") }3 bằng > db.queryNestedObject.insertOne( ... { ... "StudentName" : "James", ... "StudentSubjectScore" : [ ... {"StudentMongoDBScore":98}, ... {"StudentCScore":92}, ... {"StudentJavaScore":91} ... ] ... } ... ); { "acknowledged" : true, "insertedId" : ObjectId("5ccf49a9dceb9a92e6aa1962") }4: Để biết các ví dụ truy vấn bổ sung, xem:
Để lấy một đối tượng lồng nhau trong MongoDB, hãy sử dụng toán tử $. Trước tiên chúng ta hãy tạo một bộ sưu tập với các tài liệu - > db.queryNestedObject.insertOne( ... { ... "StudentName" : "James", ... "StudentSubjectScore" : [ ... {"StudentMongoDBScore":98}, ... {"StudentCScore":92}, ... {"StudentJavaScore":91} ... ] ... } ... ); { "acknowledged" : true, "insertedId" : ObjectId("5ccf49a9dceb9a92e6aa1962") } Sau đây là truy vấn để hiển thị tất cả các tài liệu từ bộ sưu tập với phương thức trợ giúp của find () - > db.queryNestedObject.find().pretty(); Điều này sẽ tạo ra đầu ra sau - { "_id" : ObjectId("5ccf49a9dceb9a92e6aa1962"), "StudentName" : "James", "StudentSubjectScore" : [ { "StudentMongoDBScore" : 98 }, { "StudentCScore" : 92 }, { "StudentJavaScore" : 91 } ] } Sau đây là truy vấn để truy xuất một đối tượng lồng nhau - > db.queryNestedObject.find({'StudentSubjectScore.StudentJavaScore' : 91},{'StudentSubjectScore.$': 1 , _id: 0}); Điều này sẽ tạo ra đầu ra sau - { "StudentSubjectScore" : [ { "StudentJavaScore" : 91 } ] }
Sau đây là truy vấn để truy xuất một đối tượng lồng nhau -
|