当对我的数据库进行查询时,我得到
“$err”:“BSONElement:错误类型 109”,“code”:10320 }
为了识别文档,我用 pymongo 遍历了完整的集合并得到了
AssertionError:结果批处理从 0 开始,预计为 205881
我能够根据某些字段对我的集合进行分组并按日期排序,从而减少搜索空间......
我无法获得确切的文档,但至少可以在某个范围内找到它......
不幸的是,尝试删除
会引发:
BSONObj 大小:1597071153 (0x315F315F) 无效。大小必须介于 0 和 16793600(16MB) 之间 第一个元素:mall.jpg: ?type=115
知道如何解决这个问题... 谢谢
最佳答案
如果它是副本集,我会在辅助设备上尝试相同的查询,看看那里的数据是否损坏,如果没问题,则故障转移到辅助设备。
如果您不在副本集上,我会考虑从备份恢复,因为此错误表明某处存在某些损坏。
如果您没有备份,我会考虑删除并重新创建索引(有时损坏位于索引中)。
我还会检查您正在运行的 mongodb 版本,并可能升级到最近的稳定版本,作为修复任何已知错误的方法。
如果失败,我会尝试修复数据库 http://docs.mongodb.org/manual/reference/command/repairDatabase/
关于mongodb 删除损坏的 BSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23247924/