Я восстанавливаю объект из mongoose, я вижу и получаю доступ ко всем его атрибутам, но я не могу создавать новые атрибуты для этого объекта.
Что я пробовал
transfer.test= 'test';
Порядок звонков:
console.log(transfer);
transfer.test = 'test';
console.log(transfer);
console.log(transfer.test);
Выход:
{ _id: '0000000000000303',
Ammount: '1',
State: 'SUCCESS',
TimeStampStarted: '1512043753',
LastUpdate: '1512043763',
__v: 0 }
{ _id: '0000000000000303',
Ammount: '1',
State: 'SUCCESS',
TimeStampStarted: '1512043753',
LastUpdate: '1512043763',
__v: 0 }
test
Почему его нет? почему я не получаю ошибку, предупреждение и т.д.?
PD Я проверил тип передачи, это объект
То, что вы видите, когда console.log объект Mongoose - это не вся его информация, просто представление. У объектов Mongoose есть много переменных, которые Mongoose должен управлять им. Иногда это представление не обновляется. Хотя он правильно хранит информацию в объекте, он не печатает ее хорошо. Если вам больше не нужны характеристики Mongoose в этом объекте, вы можете сделать
transfer = transfer.toObject();
и с этого момента он будет объектом JavaScript, и он должен показать все обновленное.
Object.keys(transfer).indexOf("test")
? если это-1
, тогдаtest
является унаследованным свойством.transfer
- это объект, который вы показываете?