Скажем, у меня есть модель, какКак получить доступ к внутреннему объекту в keystoneJS
University.add({
university_id: { type: Types.Number, required: true, initial: true, index: true, unique: true },
name: { type: Types.Text, required: true, index: true },
address: { type: Types.Text, initial: true, required: false, index: false }
});
University.schema.add({
"inner_object": {
"name": String,
"phone": String,
"comment": String
}
});
Я попытался обновить объект с помощью getUpdateHandler()
University.model.findOne().where('university_id', universityData.university_id).exec(function (err, university) {
university.getUpdateHandler(req, res).process(req.body, {
fields: "name, address, 'inner_object.name', 'inner_object.phone', 'inner_object.comment'"
}, function(err) {
if(err) {
console.log(err);
res.json({ status: false, data: null, message: 'Error while creating university'});
} else {
res.json({ message: 'University updated successfully', status: true, data: university});
}
});
});
Iam получить ошибку UpdateHandler.process вызван с недопустимым путем поля : inner_object.name
Обновите, если кто-либо прошел через тот же сценарий
Как вы можете добавить массив объектов, подобных этому? –
Я не думаю, что это возможно благодаря трапецеидальности. Затем вам придется использовать schema.add, но вы не сможете обновить их через getUpdateHandler, то есть вам нужно будет обновить их вручную через mongoose – Creynders
Ok. это была главная утилита :( –