python-3.x - 无法弄清楚 mongoengine 上的许多更新
问题描述
此代码返回一个我不明白的错误:
query = Analytic.objects(uid__type="binData") analytics = [] for analytic in query: analytic.sessionId = str(analytic.sessionId) analytic.uid = str(analytic.uid) analytics.append(analytic) if len(analytics) % 10000 == 0: print(".") if len(analytics) == 100000: Analytic.objects.update(analytics, upsert=False) analytics = []
TypeError:update() 为参数“upsert”获取了多个值
解决方案
同时更新多个文档,我能够使用文档中用户指南中的原子更新部分使其正常工作。 原子更新
所以你的更新应该看起来有点像
Analytic.objects(query_params='value').update(set__param='value')
或者
query = Analytic.objects(query_params='value')
query.update(set__param='value')
该部分有一个您可能想要查看的修改列表。您仍然可能希望在循环之外进行更新,因为您将多次更新查询。
推荐阅读
- python - Python XGBoost 单调约束
- android - ionic cordova build android throwing error The specified command run is invalid
- python - 在 Python 中写入数据后,文本文件保持空白
- sql - 访问 SQL GROUP BY 问题(例如,tbl_Produktion.ID 不是聚合函数的一部分)
- classification - IndexError:索引 5 超出轴 1 的范围,大小为 5
- azure - Azure 存储模拟器无法启动
- python - 如何覆盖 Qt Designer 生成的 PySide2 小部件的方法?
- javascript - Simplebar-vue 在模态框内不起作用
- r - 从R中的字符向量创建文本字符串
- typescript - TypeScript 是否错误地输入了这个 reduce 表达式?为什么?