MongoDB: Premiers pas
Comment débuter avec MongoDB
Connexion à votre serveur 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
Création de bases de données et d'utilisateurs dans MongoDB
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
adminlors de la création d'utilisateurs.
Suppression d'un utilisateur dans MongoDB
Pour supprimer un utilisateur, par exemple myUser, de la base de données myDatabase, exécutez la commande suivante :
db.getSiblingDB("myDatabase").dropUser("myUser");
Sauvegarde des données MongoDB
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"
Dépannage
Résolution de l'erreur Use of SCRAM-SHA-256 requires undigested passwords
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).