これは、MongoDB3.4では不可能です。この機能はすでにリクエストされていますが、まだ実装されていません:
したがって、問題を解決する唯一の方法は、JavaScriptでtotalAmountの合計を手動で実行することです...
編集
これはMongoDB4.0で可能になりました あるタイプから別のタイプに変換する演算子を導入しました。たとえば、 $toDouble
したがって、クエリは次のようになります。
db.collection.aggregate([
{
"$group": {
"_id": null,
"totalAmount": {
"$sum": {
"$toDouble": "$orderTotal.amount"
}
},
"count": {
"$sum": 1
}
}
}
])
ここで試すことができます: mongoplayground.net/p/4zJTPU912Es