2017-01-23 8 views
2

Je peux me connecter au jeu de réplicas en utilisant la commande suivante de la version 3.2.11 de mongo shell. Mais la même chose ne fonctionne pas avec mongo shell v3.4.1.Pourquoi ne puis-je pas me connecter au jeu de réplicas en utilisant mongo shell?

mongo --host \ 
     "replicaSet1/10.10.10.15:27001,10.10.10.16:27002,10.10.10.17:27000" mydbname \ 
     -u root -p root \ 
     --authenticationDatabase admin 

[main] Error: Failed to parse mongodb:// URL: mongodb://replicaSet1/10.10.10.15:27001,10.10.10.16:27002,10.10.10.17:27000/mydbname : 

J'ai lu here ce format d'adresse du jeu de réplicas n'a pas changé depuis la version v 3.4.1. Pourquoi ne puis-je pas me connecter à DB? Quelle est l'erreur d'analyse, selon le nouveau format (si c'est là).

Répondre

4

Il s'agit d'une régression connue dans MongoDB 3.4.0/3.4.1: SERVER-27289: mongo --host replSet/Host:Port no longer works. Un correctif a été validé pour la prochaine version de MongoDB 3.4.2.

Vous pouvez contourner ce dans une coquille 3.4.x mongo affectée en utilisant le format standard MongoDB Connection String URI à la place:

mongo --host mongodb://10.10.10.15:27001,10.10.10.16:27002,10.10.10.17:27000/mydbname?replicaSet=replicaSet1 

Vous pouvez également utiliser une chaîne standard MongoDB de connexion comme argument simple (sans la --host paramètre):

mongo mongodb://10.10.10.15:27001,10.10.10.16:27002,10.10.10.17:27000/mydbname?replicaSet=replicaSet1 

J'ai lu ici que le format d'adresse indiquée réplique n'a pas changé depuis la version v 3.4.1.

Soutien à l'aide de la connexion standard MongoDB format chaîne dans le paramètre --host a été ajouté à MongoDB 3.4 afin d'aligner la syntaxe de chaîne de connexion shell mongo avec le format utilisé par tous les pilotes officiels.

Cette modification n'est actuellement pas notée dans le manuel MongoDB 3.4, donc j'ai soulevé DOCS-9808 pour clarifier.

+1

Quelle est la différence entre 'replicaSet1' et' replset'? Vous devez mettre la réplique deux fois? –

+0

@FacundoChambo Oups ... échec de la transcription. Bonne prise! J'ai corrigé les exemples car le nom de replicaSet ne doit apparaître qu'une seule fois. – Stennie