Để truy cập giá trị dưới tài liệu, 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.accessSubDocumentDemo.insertOne( ... { ... ... "Details" : { ... "1" : { ... "StudentLowerScore" : "33", ... "StudentHoghScore" : "55" ... }, ... "2" : { ... "StudentLowerScore" : "45", ... "StudentHoghScore" : "65" ... }, ... "3" : { ... "StudentLowerScore" : "39", ... "StudentHoghScore" : "91" ... }, ... "4" : { ... "StudentLowerScore" : "41", ... "StudentHoghScore" : "85" ... } ... } ... } ... ); { "acknowledged" : true, "insertedId" : ObjectId("5cd3baf0edc6604c74817cd6") }
Sau đây là truy vấn để hiển thị tất cả các tài liệu từ một bộ sưu tập với sự trợ giúp của phương thức find () -
> db.accessSubDocumentDemo.find().pretty();
Điều này sẽ tạo ra kết quả sau -
{ "_id" : ObjectId("5cd3baf0edc6604c74817cd6"), "Details" : { "1" : { "StudentLowerScore" : "33", "StudentHoghScore" : "55" }, "2" : { "StudentLowerScore" : "45", "StudentHoghScore" : "65" }, "3" : { "StudentLowerScore" : "39", "StudentHoghScore" : "91" }, "4" : { "StudentLowerScore" : "41", "StudentHoghScore" : "85" } } }
Bây giờ, chúng tôi sẽ truy cập giá trị tài liệu con khi khóa là một số:Tại đây, tài liệu phụ được truy cập cho khóa có số 1 -
> db.accessSubDocumentDemo.findOne().Details["1"];
Điều này sẽ tạo ra kết quả sau -
{ "StudentLowerScore" : "33", "StudentHoghScore" : "55" }