Database Management
Administrative operations for databases and collections.
Database Operations
list_databases()
Returns all database names accessible to the current user.
databases = client.list_databases()
for db_name in databases:
print(f"Database: {db_name}")
drop_database(db_name)
Permanently deletes a database and all its collections.
⚠️ Irreversible Operation
success = client.drop_database("old_db")
if success:
print("Database deleted")
rename_database(old_name, new_name)
Atomically renames a database. All collections and data are preserved.
client.rename_database("dev_db", "production_db")
Collection Operations
collection_admin.py
db = client["mydb"]
# List all collections
collections = db.list_collections()
# Rename collection
col = db["old_name"]
col.rename("new_name")
# Drop collection (irreversible!)
col.drop()
Storage Monitoring
Storage Info
info = client.get_storage_info()
print(info)
# {
# "total_size_mb": 1024,
# "used_size_mb": 512,
# "databases": 5,
# "collections": 23
# }
Server Metrics
metrics = client.get_server_metrics()
print(metrics)
# {
# "uptime_seconds": 86400,
# "active_connections": 42,
# "requests_per_sec": 1250
# }
Best Practices
Backup Before Drop
Always create backups before dropping databases or collections. These operations are irreversible.
Use Transactions for Renames
Rename operations are atomic but consider using transactions when coordinating with application state changes.
Monitor Storage Growth
Regularly check get_storage_info()
to track database growth and plan capacity.
Last updated: Dec 14, 2025