如何使用mongodb

时间:2019-06-18 09:54:59

标签: node.js mongodb

我试图更新成功更新的普通数组数据,但是我有一个疑问。我在put url中传递id并获取id以比较数组。它的id是那里的获取数据并存储了另一个变量,然后该变量用于更改值,并自动更改原始数组中的值。任何人都可能解释

app.js

const courses = [{id:1,product_name:"bourbon"},{id:2,product_name:"bourbon"}]  

router.put('/:id',(req,res) =>
{
    console.log("hello")
    console.log(req.params.id)
    for(let i=0;i<courses.length;i++)
    {
        if(courses[i].id === parseInt(req.params.id))
        {
            let course = courses[i]
            course.name = "hari"

            console.log(courses)
        }
    }

})

我的放置网址
本地主机:3000 / woc / 1

我得到了输出
[{id:1,product_name:“ bourbon”},{id:2,product_name:“ hari”}]

1 个答案:

答案 0 :(得分:1)

您需要克隆原始对象。只需使用let course = {...courses[i]} or let course = Object.assign({},courses[i]}而不是let course = courses[i]

对象的行为与原始数据类型不同。 “ course”变量包含对原始数组中元素的引用。因此,更改它就是修改数组中的原始对象。