MongoDB: Premiers pas

Comment débuter avec MongoDB

Pour établir une connexion à votre instance MongoDB avec le Mongo CLI, utilisez la commande suivante :

mongo --quiet mongodb://<user>:<password>@<XXXXXX>.stackhero-network.com:27017/<database>?tls=true

Par exemple, pour vous connecter en tant qu'utilisateur admin à la base de données admin, vous pouvez exécuter :

mongo --quiet mongodb://admin:<password>@<XXXXXX>.stackhero-network.com:27017/admin?tls=true

Si le Mongo CLI n'est pas installé sur votre système, vous pouvez le télécharger depuis la documentation officielle de MongoDB. Alternativement, si Docker est disponible sur votre système, la commande suivante peut vous être utile :

docker run -it mongo /bin/bash

Pour renforcer la sécurité et optimiser l'organisation, il est recommandé de créer des utilisateurs distincts pour chaque base de données. Voici un exemple de script pour créer un nouvel utilisateur :

db.getSiblingDB("myDatabase")
  .createUser({
    user: "myUser",
    pwd: "myPassword",
    roles: [ { role: "readWrite", db: "myDatabase" } ],
    passwordDigestor: "server"
  });

Ce script crée un utilisateur nommé myUser avec le mot de passe myPassword et lui accorde les droits de lecture et d'écriture sur la base de données myDatabase.

Assurez-vous d'être connecté en tant qu'utilisateur admin lors de la création d'utilisateurs.

Pour supprimer un utilisateur, par exemple myUser, de la base de données myDatabase, exécutez la commande suivante :

db.getSiblingDB("myDatabase").dropUser("myUser");

Pour sauvegarder vos données MongoDB, utilisez la commande suivante :

mongodump --uri "mongodb://<user>:<password>@<XXXXXX>.stackhero-network.com:27017/<database>?tls=true"

Si vous rencontrez une erreur de ce type :

authentication failed for admin on <database> from client <ip>; UserNotFound: Could not find user admin@<database>

Cela peut signifier que l'utilisateur admin n'est pas enregistré pour la base de données spécifiée. Ajouter l'option --authenticationDatabase=admin peut résoudre ce problème :

mongodump --authenticationDatabase=admin --uri "mongodb://<user>:<password>@<XXXXXX>.stackhero-network.com:27017/<database>?tls=true"

Pour une sauvegarde compressée, ajoutez l'option --gzip :

mongodump --gzip --uri "mongodb://<user>:<password>@<XXXXXX>.stackhero-network.com:27017/<database>?tls=true"

Cette erreur peut survenir lors de la création d'un utilisateur via l'interface Admin Mongo UI. Pour l'éviter, utilisez la requête Mongo présentée dans la section création de bases de données et d'utilisateurs dans MongoDB.

Note: L'interface Admin Mongo UI ne permet pas d'exécuter des requêtes directement. Privilégiez le Mongo CLI (en savoir plus) ou un outil graphique comme Robo 3T (voir le guide de configuration).