如何将MongoDB应用函数中的字段更新为现有值?

如何将MongoDB应用函数中的字段更新为现有值?,mongodb,mongodb-query,mongo-shell,Mongodb,Mongodb Query,Mongo Shell,在MongoDB 3.6中,我收集了如下文档: [ { ... “propertyName”:“[\“foo\”,“bar\”], ... }, ... ] 使用MongoShell,我希望通过对每个propertyName值执行JSON.parse()函数来更新每个文档,因此这些文档如下所示 [ { ... “propertyName”:[ “福”, “酒吧” ], ... }, ... ] 我该怎么做?我不知道如何访问该属性的现有值,也找不到任何使用函数更新该值的示例。试试这个: db.

在MongoDB 3.6中,我收集了如下文档:

[
{
...
“propertyName”:“[\“foo\”,“bar\”],
...
},
...
]
使用MongoShell,我希望通过对每个propertyName值执行JSON.parse()函数来更新每个文档,因此这些文档如下所示

[
{
...
“propertyName”:[
“福”,
“酒吧”
],
...
},
...
]
我该怎么做?我不知道如何访问该属性的现有值,也找不到任何使用函数更新该值的示例。

试试这个:

db.collection.find({}).forEach(function (doc) {
   db.collection.updateOne(
      { _id: doc._id },
      { $set: { propertyName: JSON.parse(doc.propertyName) } }
   );
})