Créer et administrer les bases de données Mongo

L'accès à la base de données se fait localement uniquement (sur le serveur où les scripts sont situés). Ainsi il n'est pas possible de s'y connecter depuis un serveur autre que l'instance.

En conséquence, l'adresse du serveur pour la configuration de la connexion à la base de données sera : localhost

Administrer MongoDB avec RockMongo

Pour accéder à la page de gestion des bases de données, cliquer sur le lien “login” à droite de “Base de Données” dans la section “Accès” de la page de gestion de l'instance.

Une fois le lien “login” cliqué, il sera demandé dans une fenêtre pop-up, l'ID de l'instance et son mot de passe (celui défini à la création de celle-ci).

Suite à cela s'affichera l'interface de RockMongo.

Par défaut il n'y a pas d'utilisateur ni de mot de passe.

Créer une base de données MongoDB

A partir de l'interface de RockMongo, cliquer sur 'Databases' en haut de la page, puis cliquer sur 'Create new Database'. Renseigner un nom puis cliquer sur le bouton 'Create'. Une nouvelle base de données sera affichée dans le panneau de gauche.

Créer une collection de bases de données

Pour créer une collection de base de données, cliquer sur la nouvelle puis cliquer sur 'New Collection' en haut de la page. Renseigner un nom pour la collection puis cliquer sur le bouton 'Create'.

Créer un nouveau document

Pour créer un nouveau document dans une collection, cliquer sur la collection désirée. Lors de la sélection d'une collection, sera affiché tout les documents présent dans celle-ci. Pour créer un nouveau document, cliquer sur le lien 'Insert' en haut de la page. Renseigner le format puis cliquer sur 'Save'.

Connexion à la base de données

Dans le code de l'application, il sera nécessaire de spécifier les paramètres suivant pour la connexion à la base de données MongoDB :

  • Username: [blank]
  • Password: [blank]
  • Hostname: localhost
  • Port: 27017

Pour Node.JS, il est courant d'utiliser la variable d'environnement MONGO_URL ainsi :

MONGO_URL=mongodb://localhost:27017/<database_name>

Exporter une base de données

Depuis l'interface RockMongo, sélectionner la base à exporter. Cliquer sur le lien 'Export' en haut de la page. Cocher les cases près des collections à exporter, la compression si nécessaire puis cliquer sur le lien 'Export'. L'export devrait commencer dans le navigateur.

Importer une base de données

Depuis l'interface RockMongo, sélectionner ou créer une base de données où seront importées les données. Cliquer sur le lient 'Import' en haut de page. Naviguer jusqu'au fichier .js à importer ou le fichier .json contenant les collections à importer. Puis cliquer sur 'Import' pour effectuer l'importation des données.

Administration des base de données en ligne de commande

Pour accéder aux base de données en ligne de commande, il es nécessaire de se connecter à l'instance via la console SSH .

Noter que la console se déconnecte automatiquement après quelques minutes d'inactivité. Dans ce cas, une nouvelle connexion SSH est suffisante sans besoin de réactiver la console.

Accès à la base de données

Démarrer un terminal Mongo avec les commandes suivantes :

$ mongo
MongoDB shell version: 2.4.8
connecting to: test
Welcome to the MongoDB shell.
>

Basculer sur la base de données sur laquelle effectuer les opérations avec la commande 'use' :

> use database_name
switched to db database_name

Importer / Exporter une base de données

Pour exporter une base de données à partir de la console SSH, lancer la commande 'mongodump' puis spécifier la base de données ou collection à exporter ainsi qu'un chemin de destination pour ce fichier :

# Export d'une base de données
$ mongodump --db database_name --out ~/tmp/mongodump-yyyy-mm-dd

# Export d'une collection dans une base de données
$ mongodump --collection collection_name --db database_name --out ~/tmp/mongodump-yyyy-mm-dd

Noter que seul le dossier : '/srv/data/tmp' possède les droits d'écriture - à l'exception des virtualhosts. En conséquence, nous recommandons la création d'un dossier spécifique pour les exports MongoDB.

Pour importer une base de données à partir de la console SSH, lancer la commande 'mongoimport' puis spécifier la base de données ou collection où importer ainsi que le chemin du fichier :

# Import entire database
$ mongoimport --db database_name --collection --file 

Activer Full-text Search nécessite de définir un paramètre adminitratif dans la base de données par défaut 'admin'.

Depuis un terminal mongo, lister tout les paramètres avec la commande suivante :

> use admin
switched to db admin
> db.runCommand( { getParameter: '*' } )
{
        "enableLocalhostAuthBypass" : true,
        "enableTestCommands" : 0,
        "logLevel" : 0,
        "logUserIds" : false,
        "notablescan" : false,
        "quiet" : false,
        "releaseConnectionsAfterResponse" : false,
        "replApplyBatchSize" : 1,
        "replIndexPrefetch" : "uninitialized",
        "supportCompatibilityFormPrivilegeDocuments" : true,
        "syncdelay" : 60,
        "textSearchEnabled" : false,
        "ttlMonitorEnabled" : true,
        "ok" : 1
}

Pour activer full-text search, changer la valeur de textSearchEnabled à 'true':

> db.runCommand ( { setParameter: 1, textSearchEnabled: true } )
{ "was" : false, "ok" : 1 }
Dernière modification: le 22/11/2015 à 14:19 par Jonathan G. (Gandi)