MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

अपवाद से कैसे बचें mongoDB जावा ड्राइवर 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");

या आप क्रेडेंशियल को प्रोग्रामेटिक रूप से कॉन्फ़िगर कर सकते हैं (जावा ड्राइवर 3.6+ . का उपयोग करके) संस्करण):

admin - वह डेटाबेस है जहां उपयोगकर्ता एटलस में परिभाषित होते हैं;

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. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. मोंगोडीबी $शाब्दिक

  2. नेवला में यादृच्छिक रिकॉर्ड कैसे खोजें

  3. ऑब्जेक्ट आईडी संदर्भों के लिए नेवला में यूयूआईडी का उपयोग करना

  4. मोंगोडब 500 त्रुटि के साथ एएसपीनेट कोर वेब एपीआई

  5. क्या फायरबेस यूआईडी कई ऐप्स में अद्वितीय है?