У меня есть ArticleGroup, который содержит статьи, модели выглядят как этогомангуста заполнить вложенный массив с условием массива элемента
var ArticleGroup = new mongoose.Schema({
articles:[{type:mongoose.Schema.Types.ObjectId,ref:'Article'}]
})
var Article = new mongoose.Schema({
rates:[{
uid:String,
rate:Number //user's rate number to this article
}]
})
Теперь ПОЛЬЗОВАТЕЛЬ (назовут его JACK) хотят выполнить запрос ArticleGroup, обитающие статьи в этой группе, отбирая ставки подали
обычно я делаю это
ArticleGroupModel
.findById(articleGroupId)
.populate('articles','rates')
.select('articles')
.exec((err, articleGroup) => {
if (err) return next(err)
//...
})
но теперь я только хочет скорость домкрата если одна статьи имеет скорость домкрата, просто вернуть эту статью, как это
{
_id:"23jrf23orj89p3fwje4",
rates:[{
uid:"JACK's uid",
rate:"JACK's rate number"
}]
}
если одна статьи имеет скорость не домкрата, статья до сих пор заселена, но с пустым ставком, поданным как этот
{
_id:"23jrf23orj89p3fwje4",
rates:[]
}
Есть ли способ сделать это?
Ну, сменить модель данных не очень просто ... Но спасибо за ваше решение, я это рассмотрю –