如何为bulk_write操作设置maxTimeMS?

时间:2017-11-02 11:14:05

标签: python mongodb timeout pymongo

将bulk_write与更新列表一起使用时,我得到了很多pymongo.errors.ExecutionTimeout。我找不到超时时间以及如何更改它。

collection.bulk_write(operationslist,ordered = False,maxTimeMS = 0)不起作用(意外的关键字)

我该怎么设置它?或者关于集合(或连接)级别的参数,以避免超时?

1 个答案:

答案 0 :(得分:1)

在文档中,bulkWrite通过writeConcern属性设置超时,例如:

 db.test.bulkWrite(
      [
         { updateMany :
            ... 

         },
         ...
      ],
      { writeConcern : { w : "majority", wtimeout : 100 } }
   );

所以我想pymongo驱动程序会是类似的。我不是Python dev,但也许:

coll = db.get_collection('test', write_concern=WriteConcern(w=3, wtimeout=1, wtimeout=1000))
coll.bulk_write(...)