Mengapa Pemacu MongoDB Go Saya Mengembalikan \'Tiada Mod Kebimbangan Tulis Dinamakan \'majoriti\' Ditemui\'?

Linda Hamilton
Lepaskan: 2024-11-26 05:05:11
asal
879 orang telah melayarinya

Why Does My MongoDB Go Driver Return

"Tiada Mod Tulis Kebimbangan Bernama 'majoriti' Ditemui" Ralat dalam MongoDB

Isu:

Apabila cuba memasukkan objek ke MongoDB melalui permintaan POST menggunakan pemacu MongoDB Go, pengguna mungkin menghadapi perkara berikut ralat:

multiple write errors: [{write errors: []}, {(UnknownReplWriteConcern) No write concern mode named 'majority' found in replica set configuration}]
Salin selepas log masuk

Punca:

Ralat ini menunjukkan bahawa mod kebimbangan tulis yang dinyatakan dalam rentetan sambungan ('majoriti' dalam kes ini) tidak dikenali oleh set replika MongoDB.

Penyelesaian:

Kepada selesaikan ralat ini, alih keluar parameter &w=majoriti daripada rentetan sambungan. Rentetan sambungan yang disemak seharusnya kelihatan seperti ini:

mongodb+srv://user:[email protected]/DBname?retryWrites=true
Salin selepas log masuk

Penjelasan:

Kebimbangan tulis menentukan cara MongoDB harus mengendalikan operasi tulis (cth., sisipan, kemas kini). Pilihan majoriti memerlukan majoriti ahli set replika untuk mengakui operasi tulis sebelum menganggapnya berjaya. Walau bagaimanapun, jika set replika tidak dikonfigurasikan untuk menyokong kebimbangan penulisan majoriti, operasi akan gagal.

Dengan mengalih keluar parameter &w=majoriti daripada rentetan sambungan, anda membenarkan MongoDB untuk gunakan kebimbangan tulis lalai, yang tidak memerlukan pengakuan daripada majoriti ahli set replika. Ini memastikan bahawa operasi tulis akan berjaya walaupun tidak semua ahli telah mengakuinya.

Butiran Tambahan:

  • Mod kebimbangan tulis boleh ditentukan sebagai parameter dalam rentetan sambungan (seperti dalam contoh awal) atau melalui SetWriteConcern pada objek mongo.Client.
  • Untuk set replika, mod kebimbangan tulis mesti disokong oleh konfigurasi set replika. Rujuk dokumentasi MongoDB untuk mendapatkan maklumat lanjut tentang mengkonfigurasi kebimbangan tulis untuk set replika.
  • Kebimbangan tulis lalai untuk pelanggan yang tidak disahkan adalah majoriti. Pelanggan yang disahkan mempunyai kebimbangan penulisan lalai yang diakui, iaitu tetapan kebimbangan penulisan yang kurang ketat berbanding majoriti.

Atas ialah kandungan terperinci Mengapa Pemacu MongoDB Go Saya Mengembalikan \'Tiada Mod Kebimbangan Tulis Dinamakan \'majoriti\' Ditemui\'?. 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