次のドキュメントを持っています:
{
"_id" : ObjectId("xxx"),
"seller" : {
"phone" : {
"number" : "xx"
},
"nickname" : "xx"
},
"shipping" : {
"id" : xx
},
"id" : yyy,
"order_items" : {
"item" : {
"title" : "xxxyy"
},
"quantity" : 1
}}
そして、私はこの出力に変換する必要があります
{
"_id" : ObjectId("xxx"),
"seller.phone.number" : "xx",
"seller.nickname" : "xx",
"shipping.id" : "xx",
"id" : yyy,
"order_items.item.title" :"xxxyy",
"order_items.quantity" : 1
}
ご覧のとおり、ドキュメントを単一レベルにフラット化する必要があります。次のコードを試していますが、出力静止画がネストされています。
db.getCollection("collection").aggregate(
[
{
"$unwind" : {
"path" : "$order_items"
}
},
{
"$project" : {
"seller.phone.number" : 1.0,
"seller.nickname" : 1.0,
"shipping.id" : 1.0,
"id" : 1.0,
"order_items.item.title" : 1.0,
"order_items.quantity" : 1.0
}
}
],
{
"allowDiskUse" : false
}
);
私はmongodbとstudio3tを使い始めています。