python - 使用 mongoengine 批量插入或更新
问题描述
得到这个函数的结果
def 拆分器(可迭代,块大小):
iterable = iter(iterable)
while True:
chunk = []
try:
for _ in range(chunk_size):
chunk.append(next(iterable))
yield chunk
except StopIteration:
if chunk:
yield chunk
break
如何使用 mongoengine 进行批量更新(或如果文档不存在则插入)。一个简单的插入是这样的:
for numbers in splitter(docs, 100):
try:
for element in numbers:
element.synced_on = synced_on
delete_stale_docs(model_db, synced_on)
insert_count = len(model_db.objects.insert(numbers, load_bulk=False))
但是更新呢?
解决方案
推荐阅读
- jar - 如何编写指向 JAR 文件外部的路径
- flutter - Flutter Web 中如何使列可滚动?
- audio-player - 如何在轨道Angular 11中播放多个音频
- node.js - Sequelize Connection Pool 在 AWS-RDS 数据库中创建大量连接
- sharepoint - 将 SPFX sppkg 解决方案包文件添加和部署到 SharePoint 2019(本地)应用程序目录的自动化方式
- python - 如何在 Python 中将 datettime 转换为 Solr 格式?
- c# - 在我的控制器中使用身份作为过滤机制
- python-3.x - 如何治疗'
' 错误? - reactjs - 允许在 React + Typescript 中传递具有扩展接口的函数作为参数
- android - 'C:\flutter\bin\flutter.bat'' 以非零退出值 1 结束