首页 > 解决方案 > 使用 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))

但是更新呢?

标签: pythonmongodbpymongomongoengine

解决方案


推荐阅读