Не могу добавить атрибут к объекту JS

1

Я восстанавливаю объект из 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 Я проверил тип передачи, это объект

  • 0
    Каково значение Object.keys(transfer).indexOf("test") ? если это -1 , тогда test является унаследованным свойством.
  • 0
    Покажите нам полный код, пожалуйста. Вы уверены, что transfer - это объект, который вы показываете?
Показать ещё 7 комментариев
Теги:
mongoose
attributes

1 ответ

1
Лучший ответ

То, что вы видите, когда console.log объект Mongoose - это не вся его информация, просто представление. У объектов Mongoose есть много переменных, которые Mongoose должен управлять им. Иногда это представление не обновляется. Хотя он правильно хранит информацию в объекте, он не печатает ее хорошо. Если вам больше не нужны характеристики Mongoose в этом объекте, вы можете сделать

transfer = transfer.toObject();

и с этого момента он будет объектом JavaScript, и он должен показать все обновленное.

  • 0
    Вот и все, спасибо за ответ
  • 0
    Добро пожаловать

Ещё вопросы

Сообщество Overcoder
Наверх
Меню