MongoDB:批量更改python

时间:2018-12-02 18:25:48

标签: mongodb nosql

我有大量文件(大约一千万个),我需要更改其字段类型。通常的forEach函数(只是循环遍历每个值)似乎要花很长时间,并且在我所拥有的时间范围内显然不可行(基本上花了一整夜时间进行了四次更新)

我听说bulkwrites可以做到,但是我收到的消息很复杂。例如,我在此站点上看到一个令人困惑的答案,说没有写函数可以执行此操作(您必须做一些变通方法),其他人则说可以使用pymongo在Python中进行更新。

我想知道是否有使用python更快地批量更改字段类型(字符串->双精度,字符串-> int)的方法?我也可以在控制台上工作,但在那里找不到更多的解决方案。

谢谢

1 个答案:

答案 0 :(得分:0)

您可以尝试在mongo shell中使用聚合查询

类似

db.your_collection.aggregate([
  {
    $addFields: {
      field1: {
        $convert: {
          input: "$field1",
          to: "string"
        }
      }
    }
  },
  { $out: "your_collection" }
])

此处更多信息https://docs.mongodb.com/manual/reference/operator/aggregation/convert/