首页 > 解决方案 > 忽略 updateMany() 中的错误,例如ordered:false

问题描述

我的 MongoDB 中有大约 50 万条记录,我必须用一个标志更新每个文档

我的查询是这样的:

db.table.updateMany(
  {}, 
  {
      $set: {
        my_custom_flag: 1
      }
   }
);

但是很少有超过 16MB 的文档,由于 MongoDB 16MB 的限制,我无法更新这些文档。

上面的查询抛出了一个错误,并且中断了整个操作,即我无法更新其余的文档。

有什么方法可以抑制错误并继续操作?或者我得到超过 16MB 的文档的文档 _id ?

{
   "message": "Resulting document after update is larger than 16777216",
   "name": "WriteError",
   "code": 17419,
   "index": 0,
   "errmsg": "Resulting document after update is larger than 16777216"
}

编辑: bulkWrite()当使用 with 时ordered: false仍然抛出相同的错误,其他文档没有更新。我不明白为什么这个问题被标记为重复。

PS:我不想使用GridFS

标签: mongodb

解决方案


推荐阅读