我正在MongoDB中进行批量写入操作,以一次更新多个文档。
现在有什么方法可以知道我的查询匹配步骤的哪个序列号失败了。
因为在返回的文档中,我得到nModified
,nMatched
,它告诉您有多少匹配失败,但是哪个查询序列号没有失败?
答案 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}}]}