$divide(集計)
定義
$divide
ある数値を別の数値で除算し、結果を返します。引数を配列で
$divide
に渡します。$divide
式の構文は次のとおりです。{ $divide: [ <expression1>, <expression2> ] } 1 番目の引数は被除数、2 番目の引数は除数です。つまり、1 番目の引数を 2 番目の引数で除算します。
引数は、数値に変換される限り、どのような有効な式でもかまいません。 式の詳細については、「式演算子 」を参照してください。
動作
デフォルトの戻り値の型は double
です。少なくとも1つのオペランドが decimal
の場合、戻り値の型は10進数です。
例
以下のドキュメントを持つconferencePlanning
コレクションを考えてみましょう。
db.conferencePlanning.insertMany( [ { "_id" : 1, "city" : "New York", "hours" : 80, "tasks" : 7 }, { "_id" : 2, "city" : "Singapore", "hours" : 40, "tasks" : 4 } ] )
次の集計では、 $divide
式を使用してhours
フィールドをリテラル8
で除算し、作業日数を計算します。
db.planning.aggregate( [ { $project: { city: 1, workdays: { $divide: [ "$hours", 8 ] } } } ] )
この操作は次の結果を返します。
{ "_id" : 1, "city" : "New York", "workdays" : 10 } { "_id" : 2, "city" : "Singapore", "workdays" : 5 }