Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Berjaya Menyambung ke MongoDB Atlas menggunakan Pemacu Golang dengan Sintaks URL Baharu?
Menggunakan Pemacu Golang untuk Menyambung ke MongoDB Atlas dengan Sintaks URL Baharu
Semasa menyambung ke MongoDB Atlas menggunakan pemacu Golang, isu mungkin timbul disebabkan penggunaan sintaks URL baharu yang diperkenalkan dalam MongoDB 3.6. Artikel ini meneroka kemungkinan perangkap dan menyediakan penyelesaian.
Ralat: Tidak Bersambung
Kod yang dibentangkan cuba mewujudkan sambungan menggunakan tls.Dial("tcp" , fungsi addr.String(), tlsConfig). Walau bagaimanapun, ia tidak menyatakan tamat masa, yang boleh menyebabkan kod disekat selama-lamanya. Untuk menyelesaikan masalah ini, tetapkan tamat masa secara eksplisit menggunakan dialInfo.Timeout = masa.Duration(30).
Ralat: Tiada Pelayan Boleh Dicapai
Apabila menggunakan fungsi mgo.DialWithInfo dengan mekanisme SCRAM, ralat mungkin berlaku yang menunjukkan bahawa tiada pelayan yang boleh dicapai ditemui. Ini kerana pemacu globalsign/mgo tidak menyokong URI rentetan sambungan SRV pada masa ini. Sebagai alternatif, gunakan format URI sambungan bukan SRV (MongoDB v3.4) atau pertimbangkan untuk menggunakan pemacu mongo-go, yang menyokong URI sambungan SRV.
Kod Contoh Menggunakan Mongo-go -driver
Untuk menunjukkan penyambungan menggunakan pemacu mongo-go dengan URI sambungan SRV, pertimbangkan perkara berikut coretan kod:
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) }
Contoh ini serasi dengan versi semasa mongo-go-driver, v1.0.0.
Atas ialah kandungan terperinci Bagaimana untuk Berjaya Menyambung ke MongoDB Atlas menggunakan Pemacu Golang dengan Sintaks URL Baharu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!