Warum gibt mein MongoDB Go-Treiber „Kein Schreibproblemmodus namens „majority' gefunden' zurück?

Linda Hamilton
Freigeben: 2024-11-26 05:05:11
Original
879 Leute haben es durchsucht

Why Does My MongoDB Go Driver Return

Fehler „Kein Schreibproblemmodus namens ‚majority‘ gefunden“ in MongoDB

Problem:

Beim Einfügeversuch Wenn Benutzer über eine POST-Anfrage mithilfe des MongoDB Go-Treibers ein Objekt in MongoDB übertragen, kann Folgendes auftreten Fehler:

multiple write errors: [{write errors: []}, {(UnknownReplWriteConcern) No write concern mode named 'majority' found in replica set configuration}]
Nach dem Login kopieren

Ursache:

Dieser Fehler weist darauf hin, dass der in der Verbindungszeichenfolge angegebene Schreibmodus (in diesem Fall „Mehrheit“) von nicht erkannt wird der MongoDB-Replikatsatz.

Lösung:

Um diesen Fehler zu beheben, entfernen Sie die &w=majority Parameter aus der Verbindungszeichenfolge. Die überarbeitete Verbindungszeichenfolge sollte wie folgt aussehen:

mongodb+srv://user:[email protected]/DBname?retryWrites=true
Nach dem Login kopieren

Erklärung:

Schreibbedenken gibt an, wie MongoDB Schreibvorgänge (z. B. Einfügungen, Aktualisierungen) behandeln soll. Die Option majority erfordert, dass die Mehrheit der Mitglieder des Replikatsatzes den Schreibvorgang bestätigt, bevor er als erfolgreich betrachtet wird. Wenn der Replikatsatz jedoch nicht für die Unterstützung des Mehrheitsschreibproblems konfiguriert ist, schlägt der Vorgang fehl.

Indem Sie den Parameter &w=majority aus der Verbindungszeichenfolge entfernen, erlauben Sie MongoDB dies Verwenden Sie das Standard-Schreibproblem, das keine Bestätigung durch die Mehrheit der Mitglieder des Replikatsatzes erfordert. Dadurch wird sichergestellt, dass Schreibvorgänge auch dann erfolgreich sind, wenn nicht alle Mitglieder sie bestätigt haben.

Zusätzliche Details:

  • Der Schreibanliegensmodus kann als Parameter angegeben werden in der Verbindungszeichenfolge (wie im ersten Beispiel) oder über SetWriteConcern auf dem mongo.Client-Objekt.
  • Für Replikatsätze muss der Write Concern-Modus sein wird von der Replikatsatzkonfiguration unterstützt. Weitere Informationen zum Konfigurieren von Schreibproblemen für Replikatsätze finden Sie in der MongoDB-Dokumentation.
  • Das Standard-Schreibproblem für nicht authentifizierte Clients ist „Mehrheit“. Authentifizierte Clients haben standardmäßig die Schreibanliegen-Einstellung „Bestätigt“, was eine weniger strenge Schreibanliegen-Einstellung als die Mehrheit darstellt.

Das obige ist der detaillierte Inhalt vonWarum gibt mein MongoDB Go-Treiber „Kein Schreibproblemmodus namens „majority' gefunden' zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage