Mongorestore 引发错误 - 我可以跳过文档吗?

问题描述

我正在尝试恢复 mongo 转储,但出现错误

"2020-12-21T01:43:22.398-0300 失败:namedb.namecollection:从 \namedb\namecollection.bson 恢复时出错:(InvalidBSON) 在具有 _id 的对象中具有字段名称 'url' 的元素中的非空终止字符串: ObjectId('5fded20599e3604d10bb2adf')"

然后 mongorestore 只导入了 8000 个文档,但我的转储文件有 150k 以上。

有什么想法吗?

Mongodb 版本:4.2.4 社区

解决方法

我解决了!

  1. 将 bson 转换为 json:bsondump.exe --outFile=collection.json mycol.bson

这一步会跳过所有有问题的文档

  1. 导入到 mongo:mongoimport.exe --db=mydb --collection=mycol --file=collection.json