我尝试使用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}})>
但抛出错误
答案 0 :(得分:1)
您正在尝试将产品的值用作对象键。
这将把product[i].name
中存在的任何价值作为这样的键:
{$set :{ "Old Name For Example": "hari" }
这将尝试在文档上设置一个名为Old Name For Example
的属性,而不是name
**
相反,您应该提供属性名称作为键,在这种情况下,"name"
:
{$set :{ name: "hari" }
**(不是您的用例,但在这里可能值得注意)
应该注意的是,由于语法的原因,这很可能会抛出。由于将值作为键的实际用法是使用[myKeyValue]
(computed properties)。