当前位置: 首页 > 面试题库 >

无法将属性添加到js对象

董子航
2023-03-14
问题内容

我要返回一个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
})

可能是什么问题?


问题答案:

啊..我的对象是一个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) {      
  ...
});


 类似资料:
  • 问题内容: 考虑以下代码示例: 从PHP 5.3开始,这将产生(类似)以下输出: 但是下面的代码: …仅发出错误: 为什么将这些属性“添加”到对象?请注意,它们没有定义为手册页DateTime`上的类的一部分。 问题答案: 发生了一些魔术,但这很简单。 DateTime类没有您要访问的公共变量“date”。但是,作为PHP工作方式的副作用,在该类上调用print_r或var_dump时会创建一个变

  • 为什么在这里就能看到添加的属性?

  • 本文向大家介绍JS实现给对象动态添加属性的方法,包括了JS实现给对象动态添加属性的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JS实现给对象动态添加属性的方法。分享给大家供大家参考,具体如下: 在工作用要用到给jd对象动态添加属性的要求,在网上找到了一种解决方式,实例如下: 1、demo 这种方式试过确实可以 2、项目中使用 遍历input获取值,js对象动态添加属性和属性值。 更

  • 我想在gradle.properties文件中添加ndk.abifilters属性。现在我有了这栋楼里的房子。这是我建筑的一部分 这是我的gradle.properties文件的一部分

  • 问题内容: 如何添加到特定内容?不起作用。 问题答案: jQuery <1.9 jQuery 1.9以上