Я пытаюсь получить некоторые результаты и сгруппировать их по идентификатору, но я не знаю, как это сделать, я пытался с $ unwind и $ lookup, но когда я использую $ group, это неНе дайте мне результатов, поэтому я буду признателен за любые отзывы.
модель пользовательской оценки
{
calification: Number,
status: Number,
place: {
type: Schema.ObjectId,
ref: 'Place',
}
}
место модели
{
name: String,
description: String
}
Я пытался сделать что-то подобное:
mongoose.model('usercalification').aggregate([
{
$lookup: {
from: 'places',
localField: 'place',
foreignField: '_id',
as: 'places'
}
},
{
{
$unwind: '$places'
}
}
]);
Работает так, как должно, проблема в том, что я пытаюсь $ groupBy
mongoose.model('usercalification').aggregate([
{
$lookup: {
from: 'places',
localField: 'place',
foreignField: '_id',
as: 'places'
}
},
{
{
$unwind: '$places'
}
},
{
$group: {
_id: '$place',
calification: { $avg: '$calification' },
count: {$sum: 1}
}
}
]);
Я группирую по $ place, потому что это Place Id, который мне нуженсгруппировать по.
Буду признателен за любые отзывы.