我\xe2\x80\x99一直在尝试更新我的mongoDB中的数据。\n我想使用新的productName字段更新所有产品。
\n我的数据看起来像:
\n{\n "id": "12345",\n "products": [{\n "id": 0\n "productCode": "test",\n "status": "PENDING",\n },\n {\n "id": 1\n "productCode": "test",\n "status": "COMPLETE",\n }],\n}\nRun Code Online (Sandbox Code Playgroud)\n当我尝试以下操作时。我收到此错误位置运算符未从查询中找到所需的匹配项。
\ndb.customers.updateMany(\n { id: "12345" },\n { $set: {\n "products.$.productName": "Name here" } \n }\n)\nRun Code Online (Sandbox Code Playgroud)\n如果我执行 account.0.productName 那么它 \xe2\x80\x99s 很好并更新。I\xe2\x80\x99m 不确定为什么 $ 对我不起作用
\ndb.customers.updateMany(\n { id: "12345" },\n { $set: {\n "products.0.productName": "Name here" } \n }\n)\nRun Code Online (Sandbox Code Playgroud)\n mongodb ×1