在一段时间的不活动之后,我在一个find调用(默认Java驱动程序)中遇到了这个错误.我试图添加一个手动心跳(写入一个封顶的集合),但没有帮助.我只在连接到compose上的实例时才遇到问题(即,不在本地上下文中).

MongoDB版本是3.2.8,最新的驱动程序(3.3),使用Java8.

知道吗?

推荐答案

我同意Rhangaun的回答,以下是我在JAVA代码中的解决方案:

    public static DB getMongoDB() {

        MongoClientOptions.Builder builder = new MongoClientOptions.Builder();
        //build the connection options  
        builder.maxConnectionIdleTime(60000);//set the max wait time in (ms)
        MongoClientOptions opts = builder.build();


        char[] password2 = "mypassword".toCharArray();

        MongoCredential credential2 = MongoCredential.createCredential("username", "databasename",password2);


        //add your option to the connection 

        MongoClient mongoClient = new MongoClient(new ServerAddress("server ip",27017), Arrays.asList(credential2),opts);
        //use your database 
        cachedDb = mongoClient.getDB("databasename");

    return cachedDb;

}

这是我的研究链接:http://3t.io/blog/how-to-prevent-your-connection-from-dropping-with-hosted-mongodb-instances/

希望对你有帮助.

Mongodb相关问答推荐

使用查询参数过滤MongoDB Go驱动程序时出现问题

在MongoDB中使用explain()和查询时缺少winningPlan''''

在MogoDB中按时间间隔分组、统计文档和获取间隔时间

在单个mongo文档中组合数组与聚合

如何填充Mongoose中的嵌套引用

Tableau 与 Mongo DB Atlas by MongoDB 的连接缓存问题

无法通过管理邮箱/密码身份验证注册/登录新用户帐户(类型错误:加载失败)

$lookup 的参数必须是字符串

从 kubectl exec 获取返回值到 powershell 脚本

使用 Flask-pymongo 扩展通过 _id 在 MongoDB 中搜索文档

MongoDB 1.6.5:如何重命名集合中的字段

mongoose递归填充

MongoDB:多个 $elemMatch

MongoDB $or 查询

从 id 删除 PyMongo 中的文档

mongodb 的计数性能

Java + MongoDB:更新文档中的多个字段

使用命令行从 MongoDB 数据库中的所有集合中删除所有索引

MongoDb - 利用多 CPU 服务器进行写入繁重的应用程序

Mongo 条件为key doesn't exist?