Я использую мангуста-автопопуляция пакет в минуту.В одном запросе я хочу глубоко заполнить, а в другом запросе я хочу заполнить до одного уровня.Вот моя схема, которая глубоко заполняет данные.
ChildSchema = new Schema({
plugin_id: { type: String },
title: { type: String }, //card title
text: { type: String },
is_valid: { type: Boolean,require:true, default: false},
children: [{ type: Schema.Types.ObjectId, ref: 'Child', autopopulate: true }]
});
ChildSchema.plugin(autopopulate);
module.exports = mongoose.model('Child', ChildSchema);
Это схема истории чата:
ChatHistorySchema = new Schema({
type:{ type:Number },
bot_response:{ type: Schema.Types.ObjectId, ref: 'Child' }
});
Это мой запрос, в котором я пытаюсь отключить автоматическое заполнение.функция, так как я не хочу глубокое заполнение, вместо этого я хочу заполнить дочернюю схему только до 1 уровня.
//query
ChatHistory.find({ "bot_user": req.params.botuserId }, {}, {autopopulate: false})
.populate({
path: 'bot_response',
model: 'Child'
})
.exec((err,result) => {
if (err) {
res.status(500).send({ error: 'Something failed!' })
deferred.reject(err)
} else {
res.json(result)
deferred.resolve(result);
}
})
Этот запрос по-прежнему возвращает глубоко заполненные данные.
Я не уверен, какМогу ли я получить контроль над maxDepth из запроса.Любая помощь высоко ценится.