Rumah > pembangunan bahagian belakang > Golang > Mengapa Aplikasi My Go Tidak Boleh Bersambung ke Pangkalan Data Awan MongoDB Saya di Ubuntu?

Mengapa Aplikasi My Go Tidak Boleh Bersambung ke Pangkalan Data Awan MongoDB Saya di Ubuntu?

Susan Sarandon
Lepaskan: 2024-11-26 06:36:11
asal
488 orang telah melayarinya

Why Can't My Go Application Connect to My MongoDB Cloud Database on Ubuntu?

Ralat Menyambung ke Pangkalan Data Awan Mongo dalam Go on Ubuntu

Masalah

Apabila cuba untuk sambung ke pangkalan data Mongo Cloud dalam Go on Ubuntu menggunakan yang berikut kod:

func connectToDataBase() {
    ctx, cancel := context.WithTimeout(context.Background(), 20*time.Second)
    defer cancel()
    client, err := mongo.Connect(ctx, options.Client().ApplyURI(dbURL))
    if err != nil {
        log.Fatal("Error connecting to Database: ", err.Error())
    }
    DB = client.Database("storyfactory")
}
Salin selepas log masuk

mesej ralat muncul:

2019/04/13 00:20:37 Error connecting to Database: error parsing uri (mongodb+srv://User:[email protected]/test?retryWrites=true): lookup cluster0-gpxjk.gcp.mongodb.net on 127.0.0.53:53: cannot unmarshal DNS message
exit status 1
Salin selepas log masuk

Penyelesaian

Isu ini tidak berkaitan secara langsung dengan pemacu Go MongoDB tetapi sebaliknya kepada perubahan dalam Go versi 1.11.x #10622 yang mengetatkan cara rekod SRV dibaca, mengikuti RFC-2782.

Jika pelayan DNS berwibawa menghantar rekod SRV menggunakan pemampatan nama domain, fungsi net.lookupSRV() melemparkan ralat dengan mesej "tidak boleh menyahmarshal mesej DNS".

Untuk menyelesaikan isu ini, pertimbangkan penyelesaian berikut:

  • Gunakan URI MongoDB bukan SRV: Ini melibatkan penetapan hos dan port pangkalan data secara manual dalam URI, bukannya menggunakan rekod SRV.
  • Kemas kini /etc/resolv.conf: Gantikan pelayan nama dengan pelayan DNS yang mematuhi dan/atau awam, seperti 1.1.1.1 atau 8.8.8.8.

Untuk maklumat lanjut, rujuk GODRIVER-829.

Atas ialah kandungan terperinci Mengapa Aplikasi My Go Tidak Boleh Bersambung ke Pangkalan Data Awan MongoDB Saya di Ubuntu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan