Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java com.mongodb.MongoInternalException:回复消息长度4552032小于最大消息长度4194304_Java_Mongodb - Fatal编程技术网

Java com.mongodb.MongoInternalException:回复消息长度4552032小于最大消息长度4194304

Java com.mongodb.MongoInternalException:回复消息长度4552032小于最大消息长度4194304,java,mongodb,Java,Mongodb,其中一个MongoDB集合中有大约8K条记录。我想从数据库取所有的文件 首先,我试图以这种方式获得唱片。但在获取了一些4K记录之后,它抛出了这个异常 com.mongodb.mongonternalexception:回复消息长度4552032小于最大消息长度4194304 MongoCursor<Document> documentMongoCursor = mongoCollection .find()

其中一个MongoDB集合中有大约8K条记录。我想从数据库取所有的文件

  • 首先,我试图以这种方式获得唱片。但在获取了一些4K记录之后,它抛出了这个异常
  • com.mongodb.mongonternalexception:回复消息长度4552032小于最大消息长度4194304

    
    MongoCursor<Document> documentMongoCursor = mongoCollection
                        .find()
                        .batchSize(50)
                        .cursor();
    
    while (documentMongoCursor.hasNext()) {
      Document document = documentMongoCursor.next();
      //procsess document
    }
    
    
    MongoCursor文档MongoCursor=mongoCollection
    .find()
    .批量大小(50)
    .cursor();
    while(documentMongoCursor.hasNext()){
    Document Document=documentMongoCursor.next();
    //过程文件
    }
    
    当我调试时,发现游标正在批处理计数为101的记录。所以我想用50个计数进行批处理,但也得到了同样的错误

  • 尝试应用限制并获取页面中的数据,但再次出现相同错误。它在一段时间内表现良好,但在3K记录后失败
  • 
    MongoCursor文档MongoCursor=mongoCollection
    .find()
    .批量大小(50)
    .限额(1000)
    .cursor();
    while(documentMongoCursor.hasNext()){
    Document Document=documentMongoCursor.next();
    //过程文件
    }
    
    我正在使用mongodb java驱动程序3.11版本,希望驱动程序能够处理所有此类错误。 我不知道如何有效地解决这个问题。任何帮助都会有帮助。提前谢谢

    
    MongoCursor<Document> documentMongoCursor = mongoCollection
                        .find()
                        .batchSize(50)
                        .limit(1000)
                        .cursor();
    
    while (documentMongoCursor.hasNext()) {
      Document document = documentMongoCursor.next();
      //procsess document
    }