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

时间:2019-09-20 16:43:15

标签: java mongodb

一个MongoDB集合中有一些8K记录。我想从数据库中获取所有文档

  1. 首先,我尝试以这种方式获取记录。但是在获取了一些4K记录后,它抛出了此异常

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


MongoCursor<Document> documentMongoCursor = mongoCollection
                    .find()
                    .batchSize(50)
                    .cursor();

while (documentMongoCursor.hasNext()) {
  Document document = documentMongoCursor.next();
  //procsess document
}

当我调试时,发现游标正在批处理101个计数的记录。所以我想以50个计数进行批处理,但是也出现了相同的错误。

  1. 试图应用限制并获取页面中的数据,但再次遇到相同的错误。它取得了一段时间的成功,但在3K记录后失败了。

MongoCursor<Document> documentMongoCursor = mongoCollection
                    .find()
                    .batchSize(50)
                    .limit(1000)
                    .cursor();

while (documentMongoCursor.hasNext()) {
  Document document = documentMongoCursor.next();
  //procsess document
}

我正在使用 mongodb-java-driver 3.11 版本,希望驱动程序能够处理所有此类错误。 我不确定如何有效解决此问题。任何帮助都会有所帮助。预先感谢。

0 个答案:

没有答案