Sử dụng đoạn mã mgo trình điều khiển MongoDB Go bên dưới để kết nối với MongoDB Atlas hoạt động, sử dụng dữ liệu mẫu của bạn:
import (
"gopkg.in/mgo.v2"
"crypto/tls"
"net"
)
tlsConfig := &tls.Config{}
dialInfo := &mgo.DialInfo{
Addrs: []string{"prefix1.mongodb.net:27017",
"prefix2.mongodb.net:27017",
"prefix3.mongodb.net:27017"},
Database: "authDatabaseName",
Username: "user",
Password: "pass",
}
dialInfo.DialServer = func(addr *mgo.ServerAddr) (net.Conn, error) {
conn, err := tls.Dial("tcp", addr.String(), tlsConfig)
return conn, err
}
session, err := mgo.DialWithInfo(dialInfo)
Lưu ý rằng bạn cũng có thể chỉ định một trong các thành viên tập hợp bản sao làm hạt giống. Ví dụ:
Addrs: []string{"prefix2.mongodb.net:27017"}
Xem thêm:
- tls.Dial ()
- DialInfo
- DialWithInfo
Cập nhật :
Bạn cũng có thể sử dụng phương thức ParseURL () để phân tích cú pháp chuỗi MongoDB Atlas URI. Tuy nhiên, hiện tại phương pháp này không hỗ trợ SSL (mgo.V2 PR:304)
Một công việc xung quanh là lấy ra ssl=true
trước khi phân tích cú pháp.
//URI without ssl=true
var mongoURI = "mongodb://username:[email protected],prefix2.mongodb.net,prefix3.mongodb.net/dbName?replicaSet=replName&authSource=admin"
dialInfo, err := mgo.ParseURL(mongoURI)
//Below part is similar to above.
tlsConfig := &tls.Config{}
dialInfo.DialServer = func(addr *mgo.ServerAddr) (net.Conn, error) {
conn, err := tls.Dial("tcp", addr.String(), tlsConfig)
return conn, err
}
session, _ := mgo.DialWithInfo(dialInfo)