Comment tester si une base de données MongoDB existe en ligne de commande (bash)
Utilisez cette commande pour tester si une base de données MongoDB donnée existe :
mongo_db_exists_check.sh
mongo --quiet --eval 'db.getMongo().getDBNames().indexOf("mydb")'Ceci retournera un index tel que 0 ou 241 si la base de données est trouvée. D’un autre côté, il retournera -1 si la base de données n’existe pas.
Version docker-compose :
docker_compose_mongo_check.sh
docker-compose exec mongodb mongo --quiet --eval 'db.getMongo().getDBNames().indexOf("mydb")'où mongodb est le nom de votre conteneur.
Maintenant nous pouvons le mettre ensemble dans un script bash pour tester si la base de données existe :
mongo_db_exists_script.sh
# Interroge si la DB existe dans MongoDB
mongo_indexof_db=$(mongo --quiet --eval 'db.getMongo().getDBNames().indexOf("mydb")')
if [ $mongo_indexof_db -ne "-1" ]; then
echo "La base de données MongoDB existe"
else
echo "La base de données MongoDB n'existe pas"
fiVariante docker-compose :
docker_compose_mongo_db_exists.sh
# Interroge si la DB existe dans MongoDB
mongo_indexof_db=$(docker-compose -f inspect.yml exec -T mongodb mongo --quiet --eval 'db.getMongo().getDBNames().indexOf("mydb")')
if [ $mongo_indexof_db -ne "-1" ]; then
echo "La base de données MongoDB existe"
else
echo "La base de données MongoDB n'existe pas"
fiSi cet article vous a aidé, pensez à m'offrir un café ou à faire un don via PayPal pour soutenir la recherche et la publication de nouveaux articles sur TechOverflow