当前位置: 首页 > 知识库问答 >
问题:

JavaScript将属性附加到对象[重复]

薛泰
2023-03-14

我可能忽略了最简单的解决方案,但我已经尝试了任何我能想到或在互联网上找到的方法。

我试图添加一个属性到我的JSON对象,我需要在我的输出。但是无论我尝试添加属性,它都不会显示在我的对象中。我验证了'doc'变量是一个实际对象。

没有控制台错误。Console.log()显示doc对象的内容,仅此而已。

有人知道发生了什么吗?

Blog.findOne({'slug': req.params.slug}, function(err, doc) {

  if (!err){

    if(_.isEmpty(doc)) { res.status(404).json({ response: "Nothing found here." }); } else {

      var blogPost = doc;
      blogPost.someProperty = 'test';
      console.log(blogPost); // doesn't contain new property

      res.status(200).json( { response: blogPost });

     }

   } else { throw err; }

 });

blogPost/doc的输出

{
  "response": {
    "_id": "55e31854823389ec1f5506fc",
    "title": "A sample post.",
    "slug": "a-sample-post2",
    "body": "Hello world. This is a sample post. \n\nThis should be a new paragraph.",
    "__v": 0,
    "date": "2015-08-30T14:51:00.836Z"
  }
}

在浏览器中进行这样的简单测试确实有效。所以我真的很困惑为什么它在我的NodeJS应用程序中不起作用。与回调/异步之类的东西有关吗?

var test = {}; 
test.prop = "test"; 
console.log(test);
Object {prop: "test"}

共有1个答案

都昊乾
2023-03-14

如果要将结果作为对象,则应使用lean函数。

您甚至可以重新格式化代码,以消除缩进级别。

Blog.findOne({'slug': req.params.slug}).lean().exec(function(err, doc) {

    if (err){
      throw err;
    }

    if(_.isEmpty(doc)) { 
       res.status(404).json({ response: "Nothing found here." }); 
       return;
    }

    // else is not required
    var blogPost = doc;
    blogPost.someProperty = 'test';

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

  • 问题内容: 我要返回一个Mongoose文档,并希望在发送之前向其中添加一些元数据。但是,我无法添加任何属性,我不确定为什么。我检查了它是否可以使用Object.isExtensible(doc)扩展。 可能是什么问题? 问题答案: 啊..我的对象是一个Mongoose文档,不允许添加属性。解决方案是将返回的文档转换为普通对象,或者在查询中调用lean()。

  • 问题内容: 这是我正在使用的 json对象 我希望将此作为另一个键值对: 我尝试了concat,但是使用||给了我结果 符号,我cdnt进行迭代。我用过溢漏,但只删除了逗号。 如何将密钥对值添加到现有的json对象?我正在使用JavaScript。 问题答案: 这是最简单的方法,对我有用。

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

  • 我使用Mapstruct(1.2.0.final)来映射dto对象,我希望将对象的属性提取到它自己的对象实例。 如何做到这一点?或者有没有更方便的方法来去掉只有一个属性的(无用的)对象? 提前谢了。

  • 使用材质组件时无法运行project。 错误日志: Android资源链接输出失败:D:\Android Projects\Ghar3\app\src\main\res\layout\main\u layout。xml:23:错误:未找到fabAttached属性(又名com.reseaction.ghar:fabAttached)。错误:链接文件资源失败。 命令:C:\Users\Abdul Q