Я новичок в MongoDB и пытаюсь проецировать поле amount
из decimal
в double
при запросе.Прямо сейчас я добавляю $$ROOT
к массиву и затем разрезаю этот массив, чтобы получить только подмножество транзакций.Я полагаю, что, возможно, смогу преобразовать его, когда переместусь в массив ($group
stage) или после нарезки ($project
stage), но я не могу понять, как это сделать.Какие-нибудь советы?Конечная цель - представить сумму, количество и самые последние транзакции (мне нужно добавить логику сортировки позже).
db.transactions.aggregate([
{$match:{}},
{$group:{
_id:null,
transactions:{
$push:"$$ROOT"
},
count:{$sum: 1},
sum: {$sum: "$amount"}
}},
{$project:{
_id:0,
summary:{ count: "$count", sum: {$convert:{input:"$sum",to:"double"}}},
transactions: {$slice:["$transactions", 2]}
}}
])