簡體   English   中英

在MongoDB聚合中將$ sum和$ avg與$ addFields一起使用

[英]Using $sum and $avg with $addFields in MongoDB Aggregation

根據文檔, $avg$sum都僅在$project$group階段可用。

所以我的問題是,當涉及到$addFields ,我可以作為聚合管道中的一個階段嗎?

// stage 5
$addFields: {
  "companyTransactionAvg": {
    "$avg": {
      "$sum": "$totals.sixWeekTransactionAvg"
    }
  }
}

這不會出錯。 結果得到一個數值。 這是按照我的想法做的還是其他事情? 我正在嘗試獲取所有文檔中所有sixWeekTransactionAvg值的平均值。

這是否將在我的管道中作為獨立階段起作用,還是需要在$project$group階段中明確包含?

我現在意識到,盡管可以做到這一點,但實際上所有事情都是一個值的總和的平均值。 因為沒有$ grouping進行,所以只讀取一個文檔,而不是全部文檔,並且輸出該文檔中該值的$sum的平均值( $avg )。 當然,考慮到它只是一個值, $sum$avg總是與原始值本身相同。

value: 10
averageOfValue: 10

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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