簡體   English   中英

MongoDB聚合查詢問題

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM