有人帮忙,我怎么能删除mongodb中的非法记录

时间:2014-02-25 03:55:21

标签: mongodb assertions

我有一个mongodb replset sync断言
mongodb -version = 2.4.8, debian 64bit, 个人资料

  

断言:10334:BSONObj大小:826530915(0x3143DC63)无效。大小必须介于0和16793600之间(16MB)第一个元素:ÜC1cÜC1cÜC1< 9f>6Ifý^ Btype:?type = 99

然后我使用以下代码检查了收集的错误详情:

cursor = db.collection.find();
err_count = 0;
 while(cursor.hasNext()){
    try{
        el = cursor.next();
        size = Object.bsonsize(el);
        print(el._id+":"+size);
    }
    catch(err){
            print(err_count ++);
            print(err);
    }
 }
在大约5,000,000条记录中发现了约4,000个错误,

那些由mongoimport工具从jsonfile加载的记录,它从oldversion mongodb导出(我应该尝试dump吗?)

当我导入这些记录并查询工作时,一切都很好 同步到replset中的新节点时发生问题(在另一个网段中,如192.168.18.11:27017 sycn with 192.168.90.11:27017)

目前,replset master仅适用于同一网段中的另一个节点(192.168.18.12)。

如何修复它,如何删除这些错误记录?通过日志文件中的一堆无用信息。 香港专业教育学院尝试修复,不工作。

欣赏你的冬天!

1 个答案:

答案 0 :(得分:0)

您应该可以通过

修复数据库

你试过其中一个吗?您使用了哪些确切的命令,以及确切的结果是什么?