sql >> Databáze >  >> NoSQL >> MongoDB

Jak se správně připojit ke clusteru Atlas M0 (Free Tier) pomocí ovladače Java?

Vyřešeno! Takže, co jsem udělal:

  1. Zkoušel jsem se pouze připojit k vrstvovému clusteru přes ovladač 3.6 a napsal

    mongodb+srv://user:@cluster0-ox90k.mongodb.net/test?retryWrites=true

Vždy se zobrazí chyba: Connection strings must start with 'mongodb://' .

  1. Dobře, smazal jsem úryvek +srv a napsal stejným způsobem

    mongodb://user:@cluster0-ox90k.mongodb.net/test?retryWrites=true

a dostanete znovu chybu:

com.mongodb.MongoTimeoutException: Timed out after 30000 ms while waiting for a server that matches ReadPreferenceServerSelector{readPreference=primary}. Client view of cluster state is {type=UNKNOWN, servers=[{address=cluster0-ox90k.mongodb.net:27017, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSocketException: cluster0-ox90k.mongodb.net}, caused by {java.net.UnknownHostException: cluster0-ox90k.mongodb.net}}]

Takže jsem psal přes ovladač 3.4 nebo starší jako

mongodb://user:<PASSWORD>@cluster0-shard-00-00-ox90k.mongodb.net: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

a nakonec se to vyřešilo.

Poznámka:Tento připojovací řetězec můžete získat z konzoly pro správu Atlas nastavením ovladače Java na '3.4 nebo novější'. To vám pomůže vyhnout se nutnosti vymýšlet připojovací řetězec sami.

Aktualizováno: pokud chcete použít ovladače 3.7+ , musíte místo připojení formátu psát (a abyste se vyhnuli mým problémům výše)

MongoClientURI uri = new MongoClientURI("mongodb+srv://admin:[email protected]/test?retryWrites=true");
MongoClient mongoClient = new MongoClient(uri);

jinou variantu pomocí MongoClients.create() (od verze 3.7) a jak je uvedeno zde:

   MongoClient mongoClient = MongoClients.create("mongodb+srv://admin:[email protected]/test?retryWrites=true");

Poznámka: heslo se musí psát ne jako mongodb://user:<mypassword>@... ,

pouze ve formátu mongodb://user:[email protected]

bez složených závorek <> .



  1. Vyhledávání v Mongu bez rozlišení velkých a malých písmen

  2. Jak provedu dotaz na pole id v Mongoose?

  3. Exportujte platný json z kolekce mongodb

  4. MongoDB + ovladač C# + pole dotazů prvků, kde každý prvek pole obsahuje dílčí dokument, na který se má dotazovat