Heim >Backend-Entwicklung >Golang >Warum gibt mein MongoDB Go-Treiber „Kein Schreibproblemmodus namens „majority' gefunden' zurück?
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}]
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
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:
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!