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

배열에서 특정 필드를 반환하는 MongoDB 쿼리?

<시간/>

특정 필드를 반환하려면 $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" }