【发布时间】:2020-08-13 22:22:15
【问题描述】:
我有这个模型:
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 的 value 字段的总和以及每个 user_id 的 subscribers 数组中的元素。
这在 SQL 中是可能的,但这是我第一次使用猫鼬,所以如果你能帮助我,我将不胜感激。
【问题讨论】:
标签: node.js mongodb mongoose mongodb-query aggregation-framework