MongoDB:将现有json字符串转换为json对象

siv3szwd  于 2023-02-20  发布在  Go
关注(0)|答案(1)|浏览(372)

我尝试将现有的json string字段转换为json array/object,因为我最近将数据从mysql移动到mongodb

{
  "_id": {
    "$oid": "63f241012a9551202e909257"
  },
  "title": "Jumanji: Welcome To The Jungle",
  "description": "...",
  ...
  "info": "[{\"year\": \"2017\", ... },{\"year\": \"2019\", ... }]",
  ...
}

我需要这是

{
  "_id": {
    "$oid": "63f241012a9551202e909257"
  },
  "title": "Jumanji: Welcome To The Jungle",
  "description": "...",
  ...
  "info": [{
    "year": 2017, 
    ... 
  }, {
    "year": 2019, 
    ... 
  }],
  ...
}
nfs0ujit

nfs0ujit1#

这里有一种转换JSON字符串的方法,让Javascript parse它。

db.movies.update({},
[
  {
    "$set": {
      "info": {
        "$function": {
          "lang": "js",
          "args": ["$info"],
          "body": "function(infoStr) {return JSON.parse(infoStr)}"
        }
      }
    }
  }
],
{
  "multi": true
})

mongoplayground.net上试试。

相关问题