mongodb 数据有错误,我该如何删除错误行

新手上路,请多包涵

mongodb一个collection同步报错,单个记录Bsonsize 8G多

Assertion: 10334:BSONObj size: 826530915 (0x3143DC63) is invalid. Size must be between 0 and 16793600(16MB) First element: Ü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);
    }
}

发现有4400余个错误,
请问我怎么能够删除出错的行?


另外:mongodb同步时候报错很奇怪,在一个网段的Replset 同步不会出错,正常,但是跨网段同步就不行了。比如192.168.90.12 和 90.13正常同步,90.12与18.xxx同步就不行了,网络状况的正常的,没有问题。

谢谢

阅读 4.5k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进