Computer >> Máy Tính >  >> Lập trình >> MongoDB

Làm thế nào để truy cập giá trị tài liệu con khi khóa là một số trong MongoDB?

Để 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" }