mongodb - MongoDB Bulkwrite 哪些查询在匹配步骤失败?
问题描述
我在 MongoDB 中进行批量写入操作以一次更新多个文档。
现在有什么方法可以知道我的查询的哪个序列号匹配步骤失败。
因为在返回的文档中我得到了nModified
,nMatched
它告诉有多少匹配失败,但不是哪个查询序列号失败了?
解决方案
您可以使用BulkWriteResult.writeErrors。它可用于有序和无序操作模式。具体来说,“op”字段会告诉您失败的文档。
这是 pymongo参考的示例输出:
{'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}}]}
推荐阅读
- javascript - 如何使用 VueJS / Typescript 导入 JSON 文件?
- javascript - 如何从比较 oldArray 和 newArray 的对象数组中删除重复项?
- redis - 如何审核与 Redis 数据库的连接
- html - 如何在数学上计算要应用于我的 CSS 的 3D 变换?
- java - 我可以在spring boot + hibernate中按文件加载用户名和密码吗?
- android - 无法从 React Native 中的 JSON 数组正确获取数据
- reactjs - 如何将输入值发送到 Redux 存储?
- c# - 将侧边栏中的默认选择更改为我的自定义插件
- php - 您不能在 laravel 中序列化或反序列化 PDO 实例
- angular - 在角度5的ckEditor中将图像添加为base64