Semasa cuba mewujudkan sambungan MongoDB dalam GoLang menggunakan pakej mgo, ramai pengguna menghadapi mesej ralat yang membingungkan "pelayan dikembalikan ralat pada langkah pengesahan SASL: Pengesahan gagal." Ralat ini boleh mengecewakan, terutamanya jika nama pengguna, kata laluan, alamat hos dan nama pangkalan data yang diberikan diketahui betul. Untuk menyelesaikan isu ini, adalah penting untuk mempertimbangkan penyelesaian berikut.
Penyelesaian: Menambah Parameter authenticationDatabase
Tetapan MongoDB tertentu memerlukan kemasukan parameter --authenticationDatabase apabila mewujudkan sambungan. Parameter ini menentukan pangkalan data untuk digunakan untuk tujuan pengesahan. Secara lalai, MongoDB menggunakan nama pangkalan data yang sama seperti yang anda sambungkan. Walau bagaimanapun, dalam beberapa kes, pangkalan data pengesahan mungkin berbeza.
Untuk menyelesaikan ralat, ubah suai kod GoLang yang disediakan untuk memasukkan parameter authenticationDatabase seperti yang dilihat di bawah:
mongoDialInfo: = & mgo.DialInfo { Addrs: [] string { dbHost }, Database: dbName, Username: userName, Password: password, AuthenticationDatabase: "admin", // Change this to the appropriate authentication database Timeout: 60 * time.Second, }
Pastikan bahawa Nilai AuthenticationDatabase sepadan dengan pangkalan data yang betul yang digunakan untuk pengesahan dalam persediaan MongoDB anda. Dengan melaksanakan perubahan ini, anda sepatutnya berjaya menyambung ke pangkalan data MongoDB anda dan mengelakkan ralat "Pengesahan gagal".
Atas ialah kandungan terperinci Mengapa Sambungan GoLang MongoDB Saya Gagal dengan 'Pengesahan Gagal'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!