Maison >développement back-end >Golang >Comment résoudre l'erreur « Aucun mode de problème d'écriture nommé « majorité » trouvé » dans MongoDB ?
Erreur de problème d'écriture dans MongoDB
Lors de l'insertion de données dans MongoDB en utilisant le problème d'écriture majoritaire, il est possible de rencontrer l'erreur :
No write concern mode named 'majority`' found in replica set configuration
Cette erreur se produit car la configuration du jeu de réplicas n'inclut pas de mode de préoccupation en écriture nommé majorité.
Résolution de l'erreur
Pour résoudre cette erreur, ajoutez le mode de préoccupation d'écriture majoritaire à la configuration du jeu de réplicas. Le problème d'écriture majoritaire garantit que les données sont écrites sur une majorité des membres du jeu de réplicas avant d'accuser réception de l'écriture.
Exemple de chaîne de connexion
La chaîne de connexion suivante inclut la majorité écrire le souci :
mongodb+srv://user:[email protected]/DBname?retryWrites=true&w=majority
Modifier la connexion à la base de données
Mettre à jour la base de données fonction de configuration de connexion pour ajouter le problème d'écriture majoritaire :
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) } }
Demande de mise à jour
Assurez-vous que la requête InsertOne utilise la connexion à la base de données mise à jour :
ctx, cancel := context.WithTimeout(context.Background(), 3*time.Second) defer cancel() result, err := DbConn.Database(dbName).Collection(collectionName).InsertOne(ctx, b)
Après avoir effectué ces modifications, réexécutez l'application et l'erreur devrait être résolue.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!