[英]Mongodb aggregate query issue
我有以下查詢,應該針對每個州獲取該州內飛行的航班數量。 基本上,起點狀態和終點狀態相同。 非常簡單。
function(){
return db.flight_info.aggregate([
{ $project: { matches: { $eq:[ '$ORIGIN_STATE_ABR', '$DEST_STATE_ABR' ] }} },
{ $match: { matches:true } },
{ $group: { _id: "$ORIGIN_STATE_ABR", total: {$sum: 1} } }
]);
}
問題是由於某種原因,這實際上並未將我的數據分組。 輸出看起來像這樣:
{
"_id": null,
"total": 61402
}
雖然應該是這樣的:
{
{"_id": "FL",
"total": 620 },
{"_id": "GA",
"total": 896},
...
}
您在$ project中缺少了ORIGIN_STATE_ABR,這導致了分組問題。
db.flight_info.aggregate([
{ $project: { ORIGIN_STATE_ABR: 1,
matches: { $eq:[ '$ORIGIN_STATE_ABR', '$DEST_STATE_ABR' ] } } },
{ $match: { matches:true } },
{ $group: { _id: "$ORIGIN_STATE_ABR", total: { $sum: 1 } } }
]);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.