Невозможно добавить свойства к объекту js
Я возвращаю документ Mongoose и хочу добавить некоторые метаданные к нему, прежде чем отправить его. Однако я не могу добавить никаких свойств, и я не знаю, почему. Я проверил, что он расширяемый с Object.isExtensible(doc), и он есть.
Item.findById(req.params.id).exec(function(err, doc) {
doc.blah = 'hello';
console.log(doc); // No trace of 'blah'. I can change/delete existing props however
})
Что может быть проблемой?
Ответы
Ответ 1
Ah.. Моя цель - документ Mongoose, который не позволяет добавлять свойства. Решение состоит в том, чтобы либо преобразовать возвращенный документ в простой объект, либо вызвать метод lean() в запросе.
Item.findById(req.params.id).exec(function(err, doc) {
var obj = doc.toObject();
...
});
Item.findById(req.params.id).lean().exec(function(err, doc) {
...
});