중첩 문서에 대한 객체 배열을 쿼리하려면 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 } ] }