이러한 변환에는 집계를 사용하십시오. 문서로 컬렉션을 만들자 −
> db.demo343.insertOne({ ... _id: 101, ... UserName: "Chris", ... details: [ ... {"Name":"John"}, ... {"Name":"David"} ... ] ... } ... ); { "acknowledged" : true, "insertedId" : 101 }
find() 메서드를 사용하여 컬렉션의 모든 문서 표시 -
> db.demo343.find().pretty();
이것은 다음과 같은 출력을 생성합니다 -
{ "_id" : 101, "UserName" : "Chris", "details" : [ { "Name" : "John" }, { "Name" : "David" } ] }
다음은 개체 배열을 원래 배열 요소 값 -
을 포함하는 필드가 있는 포함된 문서 배열로 변환하는 쿼리입니다.> db.demo343.aggregate([ ... { ... $addFields: { ... details: { ... $map: { ... input: "$details", ... in: { Name: "$$this" } ... } ... } ... } ... }, ... { $out: "demo343" } ... ])
find() 메서드를 사용하여 컬렉션의 모든 문서 표시 -
> db.demo343.find().pretty();
이것은 다음과 같은 출력을 생성합니다 -
{ "_id" : 101, "UserName" : "Chris", "details" : [ { "Name" : { "Name" : "John" } }, { "Name" : { "Name" : "David" } } ] }