Javascript Can';t向对象JS添加属性

Javascript Can';t向对象JS添加属性,javascript,node.js,mongoose,attributes,Javascript,Node.js,Mongoose,Attributes,我正在从mongoose恢复一个对象,我可以看到并访问它的所有属性,但我无法为该对象创建新属性 我试过的 transfer.test= 'test'; 通话顺序: console.log(transfer); transfer.test = 'test'; console.log(transfer); console.log(transfer.test); 输出: { _id: '0000000000000303', Ammount: '1', State: 'SUC

我正在从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需要管理的变量。有时,此表示未更新。尽管它将信息正确地存储在对象中,但它并没有很好地打印它。如果您不再需要该对象中的猫鼬特征,您可以这样做

transfer = transfer.toObject();

从现在起,它将是一个JavaScript对象,并且应该显示所有更新的内容。

object.keys(transfer.indexOf(“test”)的值是多少?如果它是
-1
,则
test
是继承的属性。请向我们显示完整的代码。您确定要显示的对象是
transfer
?@gurvinder372这是一个2稍后您是否删除此属性?由于console.log的输出通常在用户稍后尝试扩展输出时进行计算。@EnriqueAlcazar是否可以在小提琴或代码段中复制此问题?