我有大量文件(大约一千万个),我需要更改其字段类型。通常的forEach函数(只是循环遍历每个值)似乎要花很长时间,并且在我所拥有的时间范围内显然不可行(基本上花了一整夜时间进行了四次更新)
我听说bulkwrites可以做到,但是我收到的消息很复杂。例如,我在此站点上看到一个令人困惑的答案,说没有写函数可以执行此操作(您必须做一些变通方法),其他人则说可以使用pymongo在Python中进行更新。
我想知道是否有使用python更快地批量更改字段类型(字符串->双精度,字符串-> int)的方法?我也可以在控制台上工作,但在那里找不到更多的解决方案。
谢谢
答案 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/