특정 필드를 반환하려면 $project 집계를 사용하세요. 먼저 문서로 컬렉션을 만들어 보겠습니다. −
> db.returnSpecificFieldDemo.insertOne( { "StudentId":1, "StudentDetails":[ { "StudentName":"Larry", "StudentAge":21, "StudentCountryName":"US" }, { "StudentName" :"Chris", "StudentAge":23, "StudentCountryName":"AUS" } ] });{ "acknowledged" :true, "insertedId" :ObjectId("5ce23d3236e8b255a5eee943")}
다음은 find() 메서드를 사용하여 컬렉션의 모든 문서를 표시하는 쿼리입니다. -
> db.returnSpecificFieldDemo.find().pretty();
이것은 다음과 같은 출력을 생성합니다 -
{ "_id" :ObjectId("5ce23d3236e8b255a5eee943"), "StudentId" :1, "StudentDetails" :[ { "StudentName" :"래리", "StudentAge" :21, "StudentCountryName}" :"미국" { "StudentName" :"Chris", "StudentAge" :23, "StudentCountryName" :"AUS" } ]}
다음은 배열에서 특정 필드를 반환하는 쿼리입니다 -
> db.returnSpecificFieldDemo.aggregate([{$project:{_id:0, StudentId:'$StudentId', StudentCountryName:{ $arrayElemAt:['$StudentDetails.StudentCountryName',1] }}}]);사전>이것은 다음과 같은 출력을 생성합니다 -
{ "StudentId" :1, "StudentCountryName" :"AUS" }