0
私はモンゴデータベースに以下の書類を持っている:MongoDBの埋め込まれた文書 - 集計クエリ
db.totaldemands.insert({ "data" : "UKToChina", "demandPerCountry" :
{ "from" : "UK" , to: "China" ,
"demandPerItem" : [ { "item" : "apples" , "demand" : 200 },
{ "item" : "plums" , "demand" : 100 }
] } });
db.totaldemands.insert({ "data" : "UKToSingapore",
"demandPerCountry" : { "from" : "UK" , to: "Singapore" ,
"demandPerItem" : [ { "item" : "apples" , "demand" : 100 },
{ "item" : "plums" , "demand" : 50 }
] } });
私はどの国に英国からエクスポートりんごの数を見つけるためのクエリを記述する必要があります。
私は次のクエリ試してみました:
db.totaldemands.aggregate(
{ $match : { "demandPerCountry.from" : "UK" ,
"demandPerCountry.demandPerItem.item" : "apples" } },
{ $unwind : "$demandPerCountry.demandPerItem" },
{ $group : { "_id" : "$demandPerCountry.demandPerItem.item",
"total" : { $sum : "$demandPerCountry.demandPerItem.demand"
} } }
);
をしかし、それは私に以下のように両方のリンゴやプラムで出力できます:
{ "_id" : "apples", "total" : 300 }
{ "_id" : "plums", "total" : 150 }
しかし、私の予想される出力は次のとおりです。
{ "_id" : "apples", "total" : 300 }
を
このように、リンゴの数eを返すように上記のクエリを変更するにはどうすればよいですか英国出身ですか? また、巻き戻さずに出力を得るための他の方法がありますか?