为什么在对象中看不到添加的属性?

时间:2018-07-06 07:34:20

标签: javascript mongodb mongoose

我必须为从数据库返回的对象添加属性,然后再将其推送到数组。更改属性有效,但添加新属性无效。任何人都可以解释这种行为背后的逻辑吗?

 ids.forEach(async (id, index) => {  
                //get object without highlight property  
                let real_a = await database.getA(id)
                real_a.highlight = "shoud add highlight property to real_a object"
                realItems.push(real_a)
                // the correct string is printed
                console.log(real_a.highlight)
                //object still doesn't have that property
                console.log(real_a)
                }

1 个答案:

答案 0 :(得分:0)

这是预期的行为。很抱歉打扰。

我正在对数据库.getA(id)函数使用mongodb查询,事实证明,您必须在mongodb查询中指定一个参数才能获取实际的可更改JSON对象。

这是完整的答案:

Why can't you modify the data returned by a Mongoose Query (ex: findById)