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

MongoDB를 사용하여 특정 중첩 문서에 대한 객체 배열 쿼리?

<시간/>

중첩 문서에 대한 객체 배열을 쿼리하려면 find()를 사용하십시오. 문서로 컬렉션을 만들자 −

> db.demo763.insertOne(
...    {
...       _id:1,
...       CountryName:"US",
...       "studentInformation": [
...          {
...             StudentName:"Chris",
...          },
...          {
...             StudentName:"David",
...             StudentAge:22
...          }
...       ]
...    }
... );
{ "acknowledged" : true, "insertedId" : 1 }

find() 메서드를 사용하여 컬렉션의 모든 문서 표시 -

> db.demo763.find();

이것은 다음과 같은 출력을 생성합니다 -

{ "_id" : 1, "CountryName" : "US", "studentInformation" : [ { "StudentName" : "Chris" }, { "StudentName" : "David", "StudentAge" : 22 } ] }

다음은 특정 중첩 문서를 가져오기 위해 객체 배열을 쿼리하는 방법입니다 -

> db.demo763.find({},
... {
...    studentInformation: {
...       $elemMatch: {
...          StudentAge: {
...             $exists: true
...          }
...       }
...    }
... })

이것은 다음과 같은 출력을 생성합니다 -

{ "_id" : 1, "studentInformation" : [ { "StudentName" : "David", "StudentAge" : 22 } ] }