Maison  >  Article  >  développement back-end  >  Pourquoi mon pilote MongoDB Go renvoie-t-il « Mode sans problème d'écriture nommé « majorité » trouvé » ?

Pourquoi mon pilote MongoDB Go renvoie-t-il « Mode sans problème d'écriture nommé « majorité » trouvé » ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-26 05:05:11885parcourir

Why Does My MongoDB Go Driver Return

"Aucun mode de préoccupation en écriture nommé 'majorité' trouvé" Erreur dans MongoDB

Problème :

Lors de la tentative d'insertion un objet dans MongoDB via une requête POST utilisant le pilote MongoDB Go, les utilisateurs peuvent rencontrer ce qui suit erreur :

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

Cause :

Cette erreur indique que le mode de préoccupation en écriture spécifié dans la chaîne de connexion (« majorité » dans ce cas) n'est pas reconnu par le jeu de réplicas MongoDB.

Solution :

Pour résoudre cette erreur, supprimez le Paramètre &w=majority de la chaîne de connexion. La chaîne de connexion révisée devrait ressembler à ceci :

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

Explication :

La préoccupation d'écriture spécifie comment MongoDB doit gérer les opérations d'écriture (par exemple, les insertions, les mises à jour). L'option majorité nécessite qu'une majorité des membres du jeu de réplicas accusent réception de l'opération d'écriture avant de la considérer comme réussie. Cependant, si le jeu de réplicas n'est pas configuré pour prendre en charge le problème d'écriture majoritaire, l'opération échouera.

En supprimant le paramètre &w=majority de la chaîne de connexion, vous autorisez MongoDB à utilisez le problème d'écriture par défaut, qui ne nécessite pas la reconnaissance de la majorité des membres du jeu de réplicas. Cela garantit que les opérations d'écriture réussiront même si tous les membres ne les ont pas reconnus.

Détails supplémentaires :

  • Le mode de préoccupation d'écriture peut être spécifié en tant que paramètre. dans la chaîne de connexion (comme dans l'exemple initial) ou via SetWriteConcern sur l'objet mongo.Client.
  • Pour les jeux de réplicas, le mode de préoccupation en écriture doit être pris en charge par la configuration du jeu de réplicas. Consultez la documentation MongoDB pour plus d'informations sur la configuration des problèmes d'écriture pour les jeux de réplicas.
  • Le problème d'écriture par défaut pour les clients non authentifiés est majoritaire. Les clients authentifiés ont un problème d'écriture par défaut de reconnu, ce qui est un paramètre de problème d'écriture moins strict que la majorité.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn