java - "response too long"在 MongoDB Java 驱动程序中意味着什么?

标签 java mongodb

有时我从 MongoDB Java 驱动程序 2.10.1 得到这个异常:

java.lang.IllegalArgumentException: response too long: 1912733750
  at com.mongodb.Response.<init>(Response.java:47)
  at com.mongodb.DBPort.go(DBPort.java:124)
  at com.mongodb.DBPort.call(DBPort.java:74)
  at com.mongodb.DBTCPConnector.innerCall(DBTCPConnector.java:286)
  at com.mongodb.DBTCPConnector.call(DBTCPConnector.java:257)
  at com.mongodb.DBApiLayer$MyCollection.__find(DBApiLayer.java:310)
  at com.mongodb.DBApiLayer$MyCollection.__find(DBApiLayer.java:295)
  at com.mongodb.DBCursor._check(DBCursor.java:368)
  at com.mongodb.DBCursor._hasNext(DBCursor.java:459)
  at com.mongodb.DBCursor.hasNext(DBCursor.java:484)

显然,我的回复并没有那么长。实际上它很小,集合中只有 1000 个项目,每个项目 100-500 字节。为什么会发生这种情况?

最佳答案

如错误描述所述,这是由于服务器响应请求的时间过长造成的。这可能是由您服务器中的防火墙设置引起的。尝试检查服务器是否可以通过您用于 MongoDB 的端口写出响应。

关于java - "response too long"在 MongoDB Java 驱动程序中意味着什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18774261/

相关文章:

具有稀疏复合索引错误 13311 的 MongoDB $near 地理空间查询

django - 无法使用带有 Django 的 MongoEngine Pymongo 返回 JSON 对象?

java - 之前的文件删除过程

java - 同一个小数,不同的四舍五入结果?

java - 如何从oracle的java代码输出到oracle控制台?

node.js - Mongoose 查询 : remove "_id" attribute, 在结果中保留虚拟属性 "id"

java - 数据库加载批处理作业 Java

java - HTTP 状态 500 - 预期 session 属性 'userObject'

node.js - 我是否使用 mongoose 正确执行此 API Put 请求?

在空数组上展开的 MongoDB 聚合