2017-04-10 2 views
0

J'utilise cette URL de connexion pour connecter l'instance de mongodb via driver: mongodb://localhost:27017?ssl=true et cela fonctionne très bien. Mais la même URL ne fonctionne pas sur mongo-shell à la place je dois sortir le paramètre ssl=true et utiliser la commande mongo mongodb://localhost:27017 --ssl. Pourquoi ne sont-ils pas compatibles entre eux? Y a-t-il une URL universelle pour les deux types de connexions?Pourquoi l'URL de connexion de mongodb n'est pas compatible pour le shell et le pilote?

EDIT1

J'ai essayé avec mongo et 3.4.2 3.4.3. Les deux versions ont le même problème.

est inférieure à la commande et la sortie, je suis détaillée:

mongo mongodb://host-1:27017,host-2:27017,host3:27017/admin?replicaSet=Cluster0-shard-0&ssl=true --username admin --password 123456 

Voici la sortie:

connecting to: mongodb://host-1:27017,host-2:27017,host-3:27017/admin?replicaSet=Cluster0-shard-0 
    2017-04-10T20:52:09.345+1000 I NETWORK [thread1] Starting new replica set monitor for Cluster0-shard-0/host-1:27017,host-2:27017,host-3:27017 
    2017-04-10T20:52:09.416+1000 I NETWORK [thread1] Socket recv() Connection reset by peer 13.54.24.198:27017 
    2017-04-10T20:52:09.416+1000 I NETWORK [thread1] SocketException: remote: (NONE):0 error: 9001 socket exception [RECV_ERROR] server [13.54.24.198:27017] 
    2017-04-10T20:52:09.416+1000 W NETWORK [thread1] No primary detected for set Cluster0-shard-0 
    2017-04-10T20:52:09.416+1000 I NETWORK [thread1] All nodes for set Cluster0-shard-0 are down. This has happened for 1 checks in a row. 
    2017-04-10T20:52:09.987+1000 I NETWORK [thread1] Socket recv() Connection reset by peer 13.54.31.109:27017 
    2017-04-10T20:52:09.987+1000 I NETWORK [thread1] SocketException: remote: (NONE):0 error: 9001 socket exception [RECV_ERROR] server [13.54.31.109:27017] 
    2017-04-10T20:52:10.019+1000 W NETWORK [thread1] No primary detected for set Cluster0-shard-0 
    2017-04-10T20:52:10.019+1000 I NETWORK [thread1] All nodes for set Cluster0-sha 
    rd-0 are down. This has happened for 2 checks in a row. 
    2017-04-10T20:52:10.558+1000 I NETWORK [thread1] Socket recv() Connection reset 
... 
2017-04-10T20:53:44.940+1000 I NETWORK [ReplicaSetMonitor-TaskExecutor-0] SocketException: remote: (NONE):0 error: 9001 socket exception [RECV_ERROR] server [13.54.31.109:27017] 

Répondre

0

Cela devrait être fixé si vous utilisez la version shell mongo> = 3.4.

En supposant que vous connectez à l'aide d'un shell 3.4, la ligne de commande et la sortie ressemblerait à quelque chose comme ceci:

mongo "mongodb://localhost:27017/test?ssl=true" --authenticationDatabase admin --username xxx --password xxx 
MongoDB shell version v3.4.3 
connecting to: mongodb://localhost:27017/test?ssl=true 
MongoDB server version: 3.4.3 
> 
+0

J'ai cette question avec mongo shell 'v3.4.2'. –

+0

Pouvez-vous s'il vous plaît mettre à jour votre question pour montrer la sortie exacte de la ligne de commande que vous obtenez, y compris l'appel à mongo shell et le message d'erreur? Voir ma réponse révisée pour l'exemple de sortie d'un shell 3.4. – helmy

+0

Je viens de mettre à jour ma question –