Heim >Backend-Entwicklung >Golang >Wie behebt man den Fehler „Kein Schreibproblemmodus namens „Majority' gefunden' in MongoDB?

Wie behebt man den Fehler „Kein Schreibproblemmodus namens „Majority' gefunden' in MongoDB?

Barbara Streisand
Barbara StreisandOriginal
2024-12-04 21:55:14591Durchsuche

How to Resolve

Write Concern Error in MongoDB

Beim Einfügen von Daten in MongoDB unter Verwendung des Majority Write Concern kann der folgende Fehler auftreten:

No write concern mode named 'majority`' found in replica set configuration

Dieser Fehler tritt auf, weil die Konfiguration des Replikatsatzes keinen Schreibmodus mit dem Namen enthält Mehrheit.

Beheben des Fehlers

Um diesen Fehler zu beheben, fügen Sie den Modus „Majority Write Concern“ zur Replikatsatzkonfiguration hinzu. Das Mehrheitsschreibproblem stellt sicher, dass Daten in die Mehrheit der Replikatsatzmitglieder geschrieben werden, bevor der Schreibvorgang bestätigt wird.

Beispiel-Verbindungszeichenfolge

Die folgende Verbindungszeichenfolge enthält die Mehrheit Bedenken schreiben:

mongodb+srv://user:[email protected]/DBname?retryWrites=true&w=majority

Datenbankverbindung ändern

Aktualisieren Sie die Datenbankverbindungs-Einrichtungsfunktion zum Hinzufügen des Hauptschreibproblems:

import (
    "context"
    "time"
    
    "go.mongodb.org/mongo-driver/mongo"
)

var DbConn *mongo.Client

func SetupDB(conn_str string) {
    var err error
    opts := options.Client().ApplyURI(conn_str).SetWriteConcern(options.Majority())
    DbConn, err = mongo.NewClient(opts)
    if err != nil {
        log.Fatal(err)
    }
    ctx, _ := context.WithTimeout(context.Background(), 10*time.Second)
    err = DbConn.Connect(ctx)
    if err != nil {
        log.Fatal(err)
    }
}

Aktualisierungsanforderung

Stellen Sie sicher, dass die InsertOne-Anfrage die aktualisierte Datenbankverbindung verwendet:

ctx, cancel := context.WithTimeout(context.Background(), 3*time.Second)
defer cancel()

result, err := DbConn.Database(dbName).Collection(collectionName).InsertOne(ctx, b)

Nachdem Sie diese Änderungen vorgenommen haben, führen Sie die Anwendung erneut aus und der Fehler sollte behoben sein.

Das obige ist der detaillierte Inhalt vonWie behebt man den Fehler „Kein Schreibproblemmodus namens „Majority' gefunden' in MongoDB?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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