我想在Nodejs中动态更新FirstCol数组的任何索引。我要如何在这个收藏集中做到这一点。

   {
     "TableId": "0",
     "FirstCol": [
        "Have high energy ",
        "Talk more than listen "
     ]
    }


我知道我可以使用点运算符更新特定的数组索引。例如:

 db.testcol.update(
    { "TableId": "0" },
    { $set:
      {
        "FirstCol.1": "rain gear"
      }
     }
    )


但是,如果我不知道必须编辑数组FirstCol的索引1,该怎么办。如何构建更新查询以更新数组的索引(假定在变量“ editIndex”中)。
我可以做类似的事情吗?

db.testcol.update(
        { "TableId": "0" },
        { $set:
          {
            "FirstCol.editIndex": "rain gear"
          }
         }
        )


需要你的帮助。谢谢 :)

最佳答案

您可以尝试使用ES6 Computed Property Keys方法

db.testcol.update(
  { "TableId": "0" },
  { "$set": {
    ["FirstCol." + editIndex]: "rain gear"
  }},
  function(err, res) {
    console.log(err)
    console.log(res)
  }
)

10-06 15:32