이러한 변환에는 집계를 사용하십시오. 문서로 컬렉션을 만들자 −
> 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"
}
}
]
}