sql >> データベース >  >> NoSQL >> MongoDB

例外を回避する方法mongoDBJavaドライバー3.4以降または3.6以降を使用してストリームの終わりに時期尚早に到達しましたか? (挿入時)

    オプション#1

    エラーは、接続の形式によって解決されました(パラメーターmaxIdleTimeMSを使用) 、ssl およびauthSource ):

    MongoClient mongoClient = MongoClients.create("mongodb://user:[email protected]:27017,cluster0-shard-00-01-ox90k.mongodb.net:27017,cluster0-shard-00-02-ox90k.mongodb.net:27017/test?ssl=true&replicaSet=Cluster0-shard-0&authSource=admin&retryWrites=true&maxIdleTimeMS=5000");
    

    または、プログラムで資格情報を構成することもできます(Javaドライバー3.6+を使用) バージョン):

    admin -ユーザーがAtlasで定義されているデータベースです。

    user -はユーザー名です;

    mypassword -はパスワードです;

    MongoCredential credential = MongoCredential.createCredential("user", "admin", "mypassword".toCharArray());
            MongoClientSettings settings = MongoClientSettings.builder()
                    .credential(credential)
                    .retryWrites(true)
                    .applyToConnectionPoolSettings(builder ->
                            builder.maxConnectionIdleTime(5000, TimeUnit.MILLISECONDS))
                    .applyToSslSettings(builder -> builder.enabled(true))
                    .applyToClusterSettings(builder -> {
                        builder.hosts(Arrays.asList(
                                new ServerAddress("cluster0-shard-00-00-ox90k.mongodb.net", 27017),
                                new ServerAddress("cluster0-shard-00-01-ox90k.mongodb.net", 27017),
                                new ServerAddress("cluster0-shard-00-02-ox90k.mongodb.net", 27017)
                        ));
                        builder.requiredReplicaSetName("Cluster0-shard-0");
                    })
                    .build();
    
            MongoClient mongoClient = MongoClients.create(settings);
    

    オプション#2

    さらに、エラーはmongodb.MongoClient.connectを呼び出すことで解決できます。 一度、各リクエストではありません。特定のドキュメントの挿入中に毎回ではなく、一度だけ接続を呼び出すようにコードを再構築してみてください。この場合、オプション#1の追加パラメータを回避できます。

    十分:

    mongodb+srv://admin:[email protected]/test?retryWrites=true&w=majority
    

    ヘルプに特に感謝しますmongoDBサポート 。



    1. MongoDBエンドレスFindToListAsync

    2. mongodbに接続する場合、connectは機能ではありません

    3. MongoDB例外:サーバーはワイヤーバージョン0を報告しますが、libmongocのバージョンには少なくとも3が必要です

    4. mongoexportJSON解析エラー