python - 从 MongoDB 中的特定日期替换大量文档
问题描述
我按日期将业务/统计数据存储在不同的集合中。每天都有成千上万的行被插入。
在某些情况下,我的应用程序会获取或生成包含最近 20 天新值的信息,因此我需要使用这些日期的新值更新 MongoDB 中的旧信息。
我想到的第一个选项是通过按日期删除从20 天前到现在的所有行,并使用 insertMany() 插入新数据。
这样做的问题是行数很大并且它阻塞了数据库,这有时会使我的工作进程死亡(这是一个 python celery 任务)。
我想到的第二个选项是将新传入的数据分成每个日期的块(使用 Pandas 数据帧),然后执行“删除”然后“插入该日期,并迭代该过程直到今天。这种方式是相同的,但在更小的块。
最后一个选项是个好主意吗?
有没有更好的方法来解决这类问题?
非常感谢
解决方案
推荐阅读
- python - KivyMD:如何通过按图标从 MDList 项中获取文本
- java - Spring Integration 5.2.3- int-jdbc:inbound-channel-adapter 的死锁问题
- java - Spring Cloud 数据流:异步部署PartitionHanlder
- javascript - 如何捕获来自后端的无效响应并在 vue.js 的 UI 页面中将该错误显示为警报?
- amazon-web-services - 在 Terraform 销毁期间,terraform 在销毁 Auto-scaling 组之前尝试销毁 ECS 集群并且失败了
- azure - 尝试从 Azure Blob 存储下载文件时出现 TimeoutException
- objective-c - Objective C - 以编程方式推送到不在 tabBarController 选项卡中的视图控制器
- css - 如何使用 Tailwind CSS 在表格中居中图像?
- python - sklearn 管道索引不匹配
- c - 如何将此数字表示形式转换为浮点数?