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

Cách sử dụng URL mới từ mongodb 3.6 để kết nối từ golang

Tôi chỉ có thể thấy rằng mã bắt đầu, sau đó không có gì

Như bạn đã tìm hiểu, điều này là do DialInfo theo mặc định có thời gian chờ bằng không. Cuộc gọi sẽ bị chặn vĩnh viễn khi chờ kết nối được thiết lập. Bạn cũng có thể chỉ định thời gian chờ bằng:

Phiên
dialInfo.Timeout = time.Duration(30)
session, err := mgo.DialWithInfo(dialInfo)

Hiện tôi không nhận được máy chủ nào có thể truy cập được

Điều này là do perfalsign / mgo hiện chưa hỗ trợ URI chuỗi kết nối SRV. Xem sự cố 112.Bạn có thể sử dụng định dạng URI kết nối không phải srv (MongoDB v3.4), xem câu hỏi liên quan StackOverflow:41173720.

Thay vào đó, bạn có thể sử dụng mongo-go-driver nếu bạn muốn kết nối bằng URI kết nối SRV, ví dụ:

mongoURI := "mongodb+srv://admin:[email protected]/dbname?ssl=true&retryWrites=true"

client, err := mongo.NewClient(options.Client().ApplyURI(mongoURI))
if err != nil {
    log.Fatal(err)
}
ctx, cancel := context.WithTimeout(context.Background(), 3*time.Second)
defer cancel()
err = client.Connect(ctx)
defer client.Disconnect(ctx)

if err != nil {
    log.Fatal(err)
}
database := client.Database("go")
collection := database.Collection("atlas")

Ví dụ trên tương thích với phiên bản hiện tại v1.0.0




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Làm thế nào để hiển thị hình ảnh base64 trong phản ứng?

  2. Giải mã nhật ký lỗi MongoDB

  3. mongo - không thể kết nối với máy chủ 127.0.0.1:27017

  4. Node.js + MongoDB:chèn một và trả về tài liệu mới được chèn

  5. Kết quả nhóm theo khoảng thời gian 15 phút trong MongoDb