Connexions à mongoDB

Nous avons vu précédemment comment nous connecter à un serveur de bases de données mongoDB. Cependant, la méthode que nous avons vue précédemment ne nous permet que de nous connecter à une base de données présente sur la même machine que le shell d’administration.

Nous allons voir les différentes options qui s’offrent à nous grâce à mongoDB.

Connexions

MongoDB est un serveur de bases de données : il peut tourner en tache de fond ou en premier plan et il attends des connexions de la part de l’utilisateur. Ainsi, en démarrant mongoDB, on devrait voir la chose suivante :


~/$ ./mongod

#

# some logging output

#

Tue Mar  9 11:15:43 waiting for connections on port 27017

Tue Mar  9 11:15:43 web admin interface listening on port 28017

mongoDB arrêtera de logger à ce moment là mais ne croyez pas qu’il est bloqué. Il est simplement en attente de connexions sur le port 27017. Une fois connecté et que vous taperez des commandes dans le shell d’administration, mongoDB continuera de logger ses actions. Il en sera de même lorsque nous utiliserons des drivers pour nous connecter à la base de données mongoDB.

On ne peut cependant pas se connecter à mongoDB depuis un navigateur Web en tapant dans la barre d’adresse : http://localhost:27017. La base de données ne peut pas être atteinte par HTTP sur le port 27017.

Options de connexion

Voici le format de connexion pour mongoDB :


mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]

Voici une courte présentation de l’ensemble de ces paramètres :

  • mongodb:// est le préfixe obligatoire pour indiquer qu’il s’agit d’un string dans le format de connexion standard.
  • username:password@ est un champ optionnel. Si ce paramètre est fourni, le driver tentera de se connecter à une base de données après s’être connecté au serveur de bases de données
  • host1 est la seule partie obligatoire de l’URI. Il permet de déterminer à quelle adresse le serveur se situe.
  • :portX est un champ facultatif. Il a par défaut une valeur de :27017 s’il n’est pas renseigné.
  • /database est le nom de la base de données à laquelle on veut se connecter (il ne sera utile que lorsqu’on l’utilisera en association avec le paramètre username:password@). Si ce paramètre n’est pas spécifié, on utilisera la base de données « admin » par défaut.
  • ?options représentent les options de connexion. Les options sont des couples nom&valeur  et ils sont séparés par les caractères « & » ou « ; »

Autant de hosts que nécessaires peuvent être spécifiés (pour des connexion à des replica pairs / set.

Vous pourrez trouver davantage d’options sur le site de mongoDB : voir le site de mongoDB