Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Menyambung ke MongoDB Atlas daripada Go Menggunakan Pemacu Terkini?

Bagaimana untuk Menyambung ke MongoDB Atlas daripada Go Menggunakan Pemacu Terkini?

Barbara Streisand
Lepaskan: 2024-12-05 01:37:09
asal
342 orang telah melayarinya

How to Connect to MongoDB Atlas from Go Using the Latest Drivers?

Sambungan URI MongoDB 3.6 daripada Go

S: Cara menyambung ke MongoDB Atlas menggunakan pemacu golang dalam versi terkini MongoDB ?

Pemandu Go dalam versi 3.6 tidak lagi menyokong format URI sambungan SRV secara lalai. Sebaliknya, pengguna harus menggunakan format URI sambungan bukan SRV.

Betulkan:

<br>mongoURI := "mongodb://admin: [e-mel dilindungi]:27017/dbname"</p>
<p>dialInfo, err := mgo.ParseURL(mongoURI)<br>if err != nil {</p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">panic(err)
Salin selepas log masuk

}
dialInfo.Timeout = time.Duration(30)
session, err := mgo.DialWithInfo( dailInfo)
jika silap != tiada {

println("error")
log.Fatal(err)
Salin selepas log masuk

}

S: Mendapat ralat "tiada pelayan boleh dicapai"

Isu ini berlaku kerana globalsign/mgo tidak menyokong URI rentetan sambungan SRV belum.

Betulkan:

Gunakan mongo-go-driver sebaliknya untuk menyambung menggunakan sambungan SRV URI:

<br> mongoURI : = "mongodb srv://admin:[email protected]/dbname?ssl=true&retryWrites=true"</p>
<p>client, err := mongo.NewClient(options.Client().ApplyURI(mongoURI))<br>jika ralat != tiada {</p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">log.Fatal(err)
Salin selepas log masuk
Salin selepas log masuk

}
ctx, batalkan := context.WithTimeout(context.Background(), 3*time.Second)
tunda batal()
err = client.Connect(ctx)
if err != nil {

log.Fatal(err)
Salin selepas log masuk
Salin selepas log masuk

}
tangguh pelanggan. Putuskan sambungan(ctx)

pangkalan data := client.Database("go")
collection := database.Collection("atlas")

Nota: Kemas kini mongo-go- pemacu kepada versi 1.0.0 atau lebih tinggi untuk keserasian dengan contoh yang diberikan.

Atas ialah kandungan terperinci Bagaimana untuk Menyambung ke MongoDB Atlas daripada Go Menggunakan Pemacu Terkini?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Artikel sebelumnya:Mengapa Pesanan Medan Berbeza dalam Go Structs Menghasilkan Pelbagai Saiz? Artikel seterusnya:Bagaimana untuk Mencipta Fail Teks Kosong dengan Amanah dalam Go?
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Isu terkini
Topik-topik yang berkaitan
Lagi>
Cadangan popular
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan