mongodb删除腐败的BSON

时间:2014-04-23 14:50:28

标签: mongodb

在我的db上查询时获取

"$err" : "BSONElement: bad type 109", "code" : 10320 }
为了识别文件,我用pymongo遍历了完整的集合并得到了 AssertionError: Result batch started from 0, expected 205881

我可以根据某个字段对我的收藏进行分组,并按日期排序,这会缩短搜索空间....

我无法获得确切的文档,但至少在某个范围内找到它... 试图remove不幸地提出:

BSONObj size: 1597071153 (0x315F315F) is invalid. Size must be between 0 and 16793600(16MB) First element: mall.jpg: ?type=115

知道如何解决这个问题...... 感谢

1 个答案:

答案 0 :(得分:2)

如果它是副本集,我会在辅助设备上尝试相同的查询,看看数据是否已损坏,如果可以,则故障转移到辅助设备。

如果您不在副本集上,我会考虑从备份中恢复,因为此错误表示某处存在某些损坏。

如果您没有备份,我会考虑删除和重新创建索引(有时腐败会出现在索引中)。

我还要检查您正在运行的mongodb版本,并可能升级到最近的稳定版本,以此来修复任何已知错误。

如果我没有尝试数据库修复http://docs.mongodb.org/manual/reference/command/repairDatabase/