Я использую MongoDB и Mongoose в качестве ODM в next.js, и я пытаюсь сгруппировать по пользователю и рассчитать amount.
Schema:
const bonusFillSchema = new mongoose.Schema({
user: {
type: Schema.Types.ObjectId,
required: true,
},
amount: {
type: Number,
required: true,
}, {
timestamps: true
})
}
let Dataset = mongoose.models.bonusFill || mongoose.model('bonusFill', bonusFillSchema)
export default Dataset
Я просто пытаюсь получить каждую запись BonusFill, сгруппировать по каждому пользователю и рассчитать всю сумму.
import Fill from '../../../models/bonusFill'
const fills = await Fill.find()
Output
{
"fills": [
{
"_id": "63244477301b6fd9d3116d37",
"user": "631ce46b9bed2e97ba77a0a3",
"amount": 100,
"createdAt": "2022-09-16T09:40:07.179Z",
"updatedAt": "2022-09-16T09:40:07.179Z",
"__v": 0
},
{
"_id": "63244487301b6fd9d3116d67",
"user": "631ce46b9bed2e97ba77a0a3",
"amount": 120,
"createdAt": "2022-09-16T09:40:23.017Z",
"updatedAt": "2022-09-16T09:40:23.017Z",
},
{
"_id": "63244487301b6fd9d3116d67",
"user": "632ce66b9bqd2e97baa795a4",
"amount": 50,
"createdAt": "2022-09-16T09:40:23.017Z",
"updatedAt": "2022-09-16T09:40:23.017Z",
},
]
}
Expected Output
{
"fills": [
{
"user": "631ce46b9bed2e97ba77a0a3",
"amount": 220,
},
{
"user": "632ce66b9bqd2e97baa795a4",
"amount": 50,
},
]
}