MongoDB Bulkwrite哪些查询在匹配步骤失败?

时间:2018-11-22 23:37:05

标签: mongodb bulk-operations

我正在MongoDB中进行批量写入操作,以一次更新多个文档。

现在有什么方法可以知道我的查询匹配步骤的哪个序列号失败了。

因为在返回的文档中,我得到nModifiednMatched,它告诉您有多少匹配失败,但是哪个查询序列号没有失败?

1 个答案:

答案 0 :(得分:0)

您可以使用BulkWriteResult.writeErrors。它在有序和无序操作模式下均可用。具体来说,“ op”字段会告诉您失败的文档。

这是pymongo reference的示例输出:

{'nInserted': 0,
'nMatched': 1,
'nModified': 1,
'nRemoved': 0,
'nUpserted': 0,
'upserted': [],
'writeConcernErrors': [],
'writeErrors': [{u'code': 11000,
              u'errmsg': u'...E11000...duplicate key error...',
              u'index': 1,
              u'op': {'_id': 4}}]}