У меня есть эта схема для моей модели урожая
var CropSchema = new mongoose.Schema({
name: String,
zones: [{
type: Schema.Types.ObjectId,
ref: 'zone'
}],
...
});
Эта схема для моей модели зоны
var ZoneSchema = new mongoose.Schema({
name: String,
poor: [{
type: Schema.Types.ObjectId,
ref: 'condition'
}],
...
});
Эта схема для моей модели состояния
var ConditionSchema = new mongoose.Schema({
name: String,
action_on_controls: [{
type: Schema.Types.ObjectId,
ref: 'control'
}],
...
});
И эта схема для моей модели управления
var ControlSchema = new mongoose.Schema({
name: String,
...
});
Я получаю все урожаи в узле так:
public index(req: Request, res: Response) {
return Crop.find().populate('zones').populate({
path: 'zones',
populate: [
{
path: 'poor', populate: [
{ path: 'action_on_controls' }]
}
]
}).exec()
.then(respondWithResult(res, 200))
.catch(handleError(res, 500));
}
Способ получения отдельного урожая таков:
public show(req: Request, res: Response) {
return Crop.findById(req.params.id).populate({
path: 'zones',
populate: [
{
path: 'poor', populate: [
{ path: 'action_on_controls' }]
}
]
}).exec()
.then(handleEntityNotFound(res))
.then(respondWithResult(res, 200))
.catch(handleError(res, 500));
}
Как видите, часть:
.populate ({..}) * * тысяча тридцать шесть
повторяется дважды.
Как сохранить одинаковые заполненные конфигурации, чтобы мне не приходилось постоянно писать / обновлять одно и то же?