PyMongo中可以更新的文档数量是否有上限?

时间:2018-01-24 13:29:12

标签: mongodb pymongo bulkupdate

我正在使用一些看起来像这样的PyMongo代码在mongo集合中更新~600,000个文档

bulk = coll.initialize_ordered_bulk_op()

for index, row in df.iterrows():

    bulk.find({ '_id': ObjectId(row['id']) }).update({ '$set': { "X": 
    row['X'].split(',') } })

bulk.execute()

经过一些further investigating之后,我可能会因为> 100,000个文档而失败,而且我必须做一些类似于建议here的内容。

然而,它适用于所有文件。我很想知道我误解了什么。

提前致谢。

1 个答案:

答案 0 :(得分:0)

正如文档here中所述:

  

每组操作最多可以有1000次操作。如果一个组超过此限制,MongoDB会将该组划分为1000或更少的较小组。例如,如果批量操作列表包含2000个插入操作,MongoDB将创建2个组,每个组有1000个操作。

所以主要是你实际上并没有在一段时间内执行600000操作,但是mongoDB负责拆分这些操作......