mongodb - MongoDB:批量更改python中的所有字段类型
问题描述
我有大量文档(大约 1000 万份),我需要更改它们的字段类型。通常的 forEach 函数(只是循环遍历每个值)似乎要花很长时间,而且在我拥有的时间范围内显然是不可行的(它基本上花了整夜进行四分之一的更新)
我听说bulkwrites 可以做到这一点,但我收到的信息不一。例如,我在这个网站上看到了一个令人困惑的答案,说没有书面函数可以做到这一点(你必须做一些解决方法),其他人说它可以通过 Python 中的更新来完成,使用 pymongo。
我想知道是否有一种更快的方法来使用 python 批量更改字段类型(字符串-> 双精度、字符串-> int)?我也可以从控制台工作,但在那里找到的解决方案更少。
谢谢
解决方案
您可以尝试在 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/
推荐阅读
- c# - 泛型类型值和“默认”关键字的“==”运算符的行为是什么?
- php - 在 php 中创建不可继承的类方法
- html - 如何从excel表中的链接列表中提取网站中的表格?
- python - 使用 df.to_sql 插入带撇号的姓氏
- ios - 查看 Xcode 中的 TestFlight 崩溃日志
- python-3.x - 使用 Python 3 在计算机上搜索 .mp3
- node.js - 平均堆栈的平方支付
- wix - WiX - 从上一个对话框设置属性
- angular - 具有相关服务的延迟加载功能模块
- javascript - “blob:http: ...”是什么?以及如何将其保存到文件中?