Computer >> 컴퓨터 >  >> 프로그램 작성 >> MongoDB

MongoDB의 중첩 객체 구조에서 객체에 액세스

<시간/>

점 표기법을 사용하여 객체에 액세스합니다. 먼저 문서로 컬렉션을 생성하겠습니다.

> db.nestedObjectDemo.insertOne({"Student" : { "StudentDetails" : { "StudentPersonalDetails" : { "StudentName" : [ "John" ],
... "StudentCountryName" : [ "US" ],
... "StudentCoreSubject" : [ "C", "Java" ],
... "StudentProject" : [ "Online Book Store", "Pig Dice Game" ] } } } });
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c99dfc2863d6ffd454bb650")
}

다음은 find() 메서드를 사용하여 컬렉션의 모든 문서를 표시하는 쿼리입니다.

> db.nestedObjectDemo.find().pretty();

그러면 다음과 같은 출력이 생성됩니다.

{
   "_id" : ObjectId("5c99dfc2863d6ffd454bb650"),
   "Student" : {
      "StudentDetails" : {
         "StudentPersonalDetails" : {
            "StudentName" : [
               "John"
            ],
            "StudentCountryName" : [
               "US"
            ],
            "StudentCoreSubject" : [
               "C",
               "Java"
            ],
            "StudentProject" : [
               "Online Book Store",
               "Pig Dice Game"
            ]
         }
      }
   }
}

다음은 점 표기법을 사용하여 중첩된 개체에 액세스하는 쿼리입니다.

>db.nestedObjectDemo.find({"Student.StudentDetails.StudentPersonalDetails.StudentName":"John"}).pretty();

그러면 다음과 같은 출력이 생성됩니다.

{
   "_id" : ObjectId("5c99dfc2863d6ffd454bb650"),
   "Student" : {
      "StudentDetails" : {
         "StudentPersonalDetails" : {
            "StudentName" : [
               "John"
            ],
            "StudentCountryName" : [
               "US"
            ],
            "StudentCoreSubject" : [
               "C",
               "Java"
            ],
            "StudentProject" : [
               "Online Book Store",
               "Pig Dice Game"
            ]
         }
      }
   }
}