同じ文書番号buyer
を持つすべての注文からすべてのcartItemを取得する新しい文書を作成したいと思います。そしてペアがない場合(Leonardのように)、新しい文書を作成しますが、状況は"orderId" : "merged"
です。複数のドキュメントを1つにマージする方法。 MongoDB
例: いくつかの顧客がいくつかの異なる注文を行うが、1つの統合されたレシピを与える必要がある状況に必要です。
コレクションorders
:あなたはJSでの例を提供する場合 { "_id" : "003_new", "buyer" : "Sheldon", "cartItems" : [ { "itemName" : "Water", "itemPrice" : 3 }, { "itemName" : "Milk", "itemPrice" : 2 }, { "itemName" : "Butter", "itemPrice" : 4 } ], "totalCost" : 9, "orderId" : "merged" }, { "_id" : "004_new", "buyer" : "Leonard", "cartItems" : [ { "itemName" : "Water", "itemPrice" : 3 } ], "totalCost" : 3, "orderId" : "merged" }
入力 { "_id" : "001", "buyer": "Sheldon" "cartItems" : [ { "itemName" : "Water", "itemPrice" : 3 } ], "totalCost" : 3 }, { "_id" : "002", "buyer" : "Sheldon", "cartItems" : [ { "itemName" : "Milk", "itemPrice" : 2 } ], "totalCost" : 2 }, { "_id" : "003", "buyer" : "Sheldon", "cartItems" : [ { "itemName" : "Butter", "itemPrice" : 4 } ], "totalCost" : 4 }, { "_id" : "004", "buyer" : "Leonard", "cartItems" : [ { "itemName" : "Water", "itemPrice" : 3 } ], "totalCost" : 3 }
出力が良いだろう。
)MongoDBの集合https://docs.mongodb.com/manual/reference/operator/aggregation/group/ –