MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Làm thế nào để kết nối chính xác với cụm Atlas M0 (Bậc miễn phí) thông qua trình điều khiển Java?

Đã giải quyết nó! Vì vậy, những gì tôi đã làm:

  1. Tôi chỉ cố gắng kết nối với cụm tầng qua driver3.6 và đã viết

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

Tôi luôn gặp lỗi: Connection strings must start with 'mongodb://' .

  1. Được rồi, tôi đã xóa đoạn mã +srv và viết theo cùng một cách

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

và gặp lại lỗi:

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

Vì vậy, tôi đã viết qua driver3.4 hoặc phiên bản cũ hơn thích

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

và cuối cùng nó đã được giải quyết.

Lưu ý:Bạn có thể lấy chuỗi kết nối này từ bảng điều khiển quản lý Atlas bằng cách đặt trình điều khiển Java của bạn thành '3.4 trở lên'. Điều này sẽ giúp bạn tránh phải tự tìm ra chuỗi kết nối.

Đã cập nhật: nếu bạn muốn sử dụng trình điều khiển 3.7+ , bạn cần viết thay vì kết nối định dạng (và để tránh các vấn đề của tôi ở trên)

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

một biến thể khác sử dụng MongoClients.create() (kể từ bản phát hành 3.7) và như đã đề cập ở đây:

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

Lưu ý: mật khẩu cần viết không giống mongodb://user:<mypassword>@... ,

chỉ ở định dạng mongodb://user:[email protected]

không có dấu ngoặc nhọn <> .



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Meteor:sự khác biệt giữa tên cho bộ sưu tập, biến, ấn phẩm và đăng ký?

  2. Toán tử $ unwind trong MongoDB là gì?

  3. Làm thế nào để triển khai has_many:thông qua các mối quan hệ với Mongoid và mongodb?

  4. Cách cho phép tất cả các máy chủ lưu trữ trong một bản sao được đặt trong mongodb

  5. Tạo ứng dụng ghi chú cho Android với MongoDB Stitch