Initializing...

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