在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ Express操作MongoDB數(shù)據(jù)時無法為對象添加新屬性?

Express操作MongoDB數(shù)據(jù)時無法為對象添加新屬性?

我在Node服務端使用操作MongoDB數(shù)據(jù)庫時,已成功獲取到查詢出來的數(shù)據(jù)對象doc,但是在為doc添加新的屬性"productNum"和"checked"發(fā)現(xiàn)doc并沒有發(fā)生更改,但是卻能獲取到對應的新屬性,求指教,感激不盡。
使用的是express框架和調(diào)用了mongoose插件。
代碼如下:

if (doc) {
  console.log("doc before: " + doc)
  doc.productNum = 1;
  doc.checked = 1;
  console.log("doc after: " + doc);
  console.log("doc.productNum isEnumerable: " + doc.propertyIsEnumerable("productNum"));
  console.log("doc.productNum: " + doc.productNum);
  console.log("doc.checked: " + doc.checked);

輸出結果如下:

doc before: { _id: 58e7053c98dab115d336b3f8,
  productId: '201710013',
  productName: 'Ear2000',
  salePrice: 2000,
  productImage: '13.jpg',
  productUrl: '' }
doc after: { _id: 58e7053c98dab115d336b3f8,
  productId: '201710013',
  productName: 'Ear2000',
  salePrice: 2000,
  productImage: '13.jpg',
  productUrl: '' }
doc.productNum isEnumerable: true
doc.productNum: 1
doc.checked: 1

截圖如下:

clipboard.png

回答
編輯回答
深記你

doc.toObject()后再添加屬性。因為mongoose定義了自己的toJson,你在屬性上加的東西都不在toJson方法里。

2017年7月16日 01:44