집계 프레임워크를 사용할 수 있습니다. 먼저 문서로 컬렉션을 생성해 보겠습니다. −
> db.getArrayDemo.insertOne( { "CustomerId":101, "CustomerDetails":[ { "CustomerName":"Larry", "CustomerFriendDetails":[ { "CustomerFriendName":"Sam" }, { "CustomerFriendName" :"Robert" } ] }, { "CustomerName":"Chris", "CustomerFriendDetails":[ { "CustomerFriendName":"David" }, { "CustomerFriendName":"Carol" } ] } ] });{ "확인했습니다 " :true, "insertedId" :ObjectId("5cda4949b50a6c6dd317adb7")}
다음은 find() 메서드를 사용하여 컬렉션의 모든 문서를 표시하는 쿼리입니다. -
> db.getArrayDemo.find().pretty();
이것은 다음과 같은 출력을 생성합니다 -
{ "_id" :ObjectId("5cda4949b50a6c6dd317adb7"), "CustomerId" :101, "CustomerDetails" :[ { "CustomerName" :"Larry", "CustomerFriendDetails" :[ { "CustomerFriendName" :"Sam" }, { "CustomerFriendName" :"Robert" } ] }, { "CustomerName" :"Chris", "CustomerFriendDetails" :[ { "CustomerFriendName" :"David" }, { "CustomerFriendName" :"Carol" } ] } ]}사전>다음은 MongoDB 컬렉션에서 배열을 가져오는 쿼리입니다 -
> db.getArrayDemo.aggregate([ { "$unwind":"$CustomerDetails" }, { "$unwind":"$CustomerDetails.CustomerFriendDetails"}, { "$group":{ "_id":null, "CustomerFriendDetails":{ "$push":"$CustomerDetails.CustomerFriendDetails.CustomerFriendName" } } }]);이것은 다음과 같은 출력을 생성합니다 -
{ "_id" :null, "CustomerFriendDetails" :[ "Sam", "Robert", "David", "Carol" ] }