MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Bagaimana cara terhubung ke cluster Atlas M0 (Free Tier) dengan benar melalui driver Java?

Selesai! Jadi, apa yang telah saya lakukan:

  1. Saya hanya mencoba menghubungkan ke tier cluster melalui driver3.6 dan menulis

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

Saya selalu mendapatkan kesalahan: Connection strings must start with 'mongodb://' .

  1. Oke, saya menghapus cuplikan +srv dan menulis dengan cara yang sama

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

dan dapatkan lagi kesalahannya:

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}}]

Jadi, saya menulis melalui driver3.4 atau sebelumnya seperti

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

dan akhirnya terpecahkan.

Catatan:Anda bisa mendapatkan string koneksi ini dari konsol manajemen Atlas dengan menyetel driver Java Anda ke '3.4 atau lebih baru'. Ini akan membantu Anda menghindari keharusan membuat sendiri string koneksi.

Diperbarui: jika Anda ingin menggunakan driver 3.7+ , Anda perlu menulis alih-alih memformat koneksi (dan untuk menghindari masalah saya di atas)

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

varian lain menggunakan MongoClients.create() (per rilis 3.7), dan seperti yang disebutkan di sini:

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

Catatan: kata sandi harus ditulis tidak seperti mongodb://user:<mypassword>@... ,

hanya dalam format mongodb://user:[email protected]

tanpa kawat gigi <> .



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. mongodb $dalam batas

  2. Bagaimana cara memulai Shell mongodb dalam wadah buruh pelabuhan?

  3. Temukan dan Hitung elemen koleksi dengan Mongoose

  4. Mongodb, kueri agregat dengan $lookup

  5. Model.find().toArray() mengklaim tidak memiliki metode .toArray()