在 MongoDB 中,可以使用聚合管道操作符 $project 以及 $addFields 来转换字符串为文档进行解析。以下是一个示例:

假设有一个名为 users 的集合,其中包含一个 info 字段,该字段存储了一个字符串,如下所示:

{
  "_id": 1,
  "info": '{"name":"John","age":30,"city":"New York"}'
}

要将 info 字段的字符串解析为文档,可以使用聚合管道操作符 $project$addFields,如下所示:

db.users.aggregate([
  {
    $project: {
      info: { $toObject: "$info" }
    }
  },
  {
    $addFields: {
      name: "$info.name",
      age: "$info.age",
      city: "$info.city"
    }
  },
  {
    $project: {
      info: 0
    }
  }
])

上述聚合查询将会返回以下结果:

{
  "_id": 1,
  "name": "John",
  "age": 30,
  "city": "New York"
}

在上述聚合查询中,$toObject 操作符用于将 info 字段的字符串解析为文档。然后,使用 $project 操作符将 info 字段从结果中排除,最后使用 $addFields 操作符将解析后的文档的字段添加到结果中。


原文地址: https://www.cveoy.top/t/topic/p4kH 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录