如何在mongodb中更新数据

时间:2019-05-29 06:54:13

标签: node.js mongodb

我尝试使用mongodb进行数组内部更新,但是如何解决它引发错误。

[
    {
        "_id": "5b4efd6fd53be829188070c8",
        "id": 1,
        "name": "All Categories",
        "hasSubCategory": "false",
        "parentId": "0"
    }
]

我尝试过这种方式的代码

db_connection.collection('ecomm_prod_db_product')。update({_ id:product_data [i] ['_ id']},{$ set:{product [i] ['name']:“ hari}})

但抛出错误

1 个答案:

答案 0 :(得分:1)

您正在尝试将产品的值用作对象键。

这将把product[i].name中存在的任何价值作为这样的键:

{$set :{ "Old Name For Example": "hari" }

这将尝试在文档上设置一个名为Old Name For Example的属性,而不是name **

相反,您应该提供属性名称作为键,在这种情况下,"name"

{$set :{ name: "hari" }

**(不是您的用例,但在这里可能值得注意)
应该注意的是,由于语法的原因,这很可能会抛出。由于将值作为键的实际用法是使用[myKeyValue]computed properties)。