2017-05-05 65 views
0

我有一個實體「總賬」,我需要總結,但只限於一個用戶。以下是我的工作,接近工作。但是,它將每個用戶的「user_id」加起來。我有成千上萬的用戶,每個user_id有數千個分類賬。我需要找到一個特定用戶的平均值。如何爲一個實體添加一個字段?

實體:

用戶 「_id」 總帳 「USER_ID」

db.ledgers.aggregate(
     [ 
     { 
      $group: 
      { 
       _id: "$user_id", 
       avgAmount: { $avg: "$amount_in_cents" } 
      } 
     } 
     ] 
    ) 

回答

1

上USER_ID第一過濾器,然後執行分組

db.ledgers.aggregate(
    [ 
    {$match: {user_id: '<USER_ID>', amount_in_cents: {$gt: 2800}}}, 
    { 
     $group: 
     { 
      _id: "$user_id", 
      avgAmount: { $avg: "$amount_in_cents" } 
     } 
    } 
    ] 
) 
+0

確定。平均他們。謝謝!我怎麼才能考慮amount_in_cents是$ gt(大於)2800的那個? – jdog

相關問題