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

MongoDB 컬렉션에서 배열을 얻는 방법은 무엇입니까?

<시간/>

집계 프레임워크를 사용할 수 있습니다. 먼저 문서로 컬렉션을 생성해 보겠습니다. −

> 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" ] }