У меня есть эта модель:
const mongoose = require('mongoose')
const donationSchema = new mongoose.Schema({
user_id:{
type:mongoose.Schema.Types.ObjectId,
required:true
},
title:{
type:String,
required:true
},
description:{
type:String,
required:true
},
city:{
type:String,
required:true
},
photo:{
type:String,
required:true
},
quantity:{
type:Number,
required:true,
default:1
},
status:{
type:String,
required:true,
default:"En cours"
},
category:{
type:String,
required:true
},
subscribers:{
type:[],
required:false
},
value:{
type:Number,
required:false
},
attribution_date:{
type:Date,
required:false
}
},
{timestamps:true})
donationSchema.pre('save', function(next) {
next()
})
module.exports = mongoose.model('Donation', donationSchema)
в моем маршрутизаторе. Я хочу агрегировать коллекцию на основе поля user_id и получить счетчик повторений user_id в коллекции, сумму значение поле для каждого user_id и количество элементов в массиве подписчиков для каждого user_id.
Это возможно в SQL, но это мой первый опыт общения с пн goose, поэтому, если бы вы могли мне помочь, я был бы благодарен.