Use este comando para testar se um banco de dados MongoDB dado existe:
mongo_db_exists_check.sh
mongo --quiet --eval 'db.getMongo().getDBNames().indexOf("mydb")'Isso retornará um índice tal como 0 ou 241 se o banco de dados for encontrado. Por outro lado, retornará -1 se o banco de dados não existir.
Versão docker-compose:
docker_compose_mongo_check.sh
docker-compose exec mongodb mongo --quiet --eval 'db.getMongo().getDBNames().indexOf("mydb")'onde mongodb é o nome do seu container.
Agora podemos juntar isso em um script bash para testar se o banco de dados existe:
mongo_db_exists_script.sh
# Query if DB exists in MongoDB
mongo_indexof_db=$(mongo --quiet --eval 'db.getMongo().getDBNames().indexOf("mydb")')
if [ $mongo_indexof_db -ne "-1" ]; then
echo "MongoDB database exists"
else
echo "MongoDB database does not exist"
fiVariante docker-compose:
docker_compose_mongo_db_exists.sh
# Query if DB exists in 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 "MongoDB database exists"
else
echo "MongoDB database does not exist"
fiIf this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow