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!