Comment configurer des bases de données et des utilisateurs
Créer une nouvelle base de données
MongoDB est livré avec une seule base de données étiquetée "admin". À des fins de test, il est recommandé de créer quelques bases de données supplémentaires. Pour ce faire, accédez à l'invite de commande MongoDB :
mongosh
Une fois là-bas, vous pouvez créer une base de données en utilisant une seule commande. Gardez à l'esprit que, contrairement au langage SQL, il n'y a pas de commande distincte pour créer des bases de données spécifiquement.
MongoDB utilise la même commande pour accéder et créer des bases de données. Si une base de données existe déjà, elle peut être utilisée. Sinon, la commande la créera :
use [nom_de_la_base_de_données]
Dans ce tutoriel, nous choisirons la base de données "customers".
use customers
Créer un nouvel utilisateur
Par défaut, MongoDB n'inclut pas le compte administrateur par défaut. Au lieu de cela, différents utilisateurs pour chaque base de données sont nécessaires. Cependant, il est nécessaire de créer des utilisateurs avec des autorisations spécifiques dans chaque base de données.
Pour créer un nouvel utilisateur, utilisez la fonction db.createUser(). Spécifiez le nom, le mot de passe, la base de données et les rôles qu'il devrait avoir.
Tout comme MongoDB, la fonction db.createUser reçoit des paramètres au format JSON. Ainsi, pour créer un nouvel utilisateur pour la base de données nouvellement créée, exécutez cette commande :
db.createUser(
{
user: "Hostinger",
pwd: "$tr0ngPa$$w0rD",
roles: [ { role: "userAdmin", db: "customers" } ]
}
)
Il existe plusieurs rôles, notamment dbAdmin, dbUser et readWrite, ainsi que de nombreux autres. Nous vous recommandons de consulter la documentation officielle de MongoDB pour en savoir plus.
Pour afficher tous les utilisateurs créés, utilisez cette commande :
show users
La sortie devrait ressembler à ceci dans le terminal.

Pour tester l'opération, quittez la console MongoDB avec la commande exit et exécutez la commande suivante pour tester la connexion à la base de données :
mongosh --port [port] -u [nom_utilisateur] -p '[mot_de_passe]' '[base_de_données]'

Activer l'authentification à distance
Par défaut, MongoDB autorise toutes les connexions depuis la machine locale. Ce n'est pas un problème si les utilisateurs développent des applications localement. Cependant, vous pourriez rencontrer des problèmes lorsqu'il sera temps de déployer une application.
Pour éviter de tels problèmes à l'avenir, ouvrez le fichier /etc/mongodb.conf et commentez la ligne "bindIP: 127.0.0.1" :
sudo nano /etc/mongodb.conf

Enfin, redémarrez le service :
sudo systemctl restart mongod
Désormais, seuls les utilisateurs locaux pourront se connecter sans authentification.

