MongoDB Flex – Managed Dokumentendatenbank auf STACKIT
Wenn deine Daten keine starren Tabellen brauchen – JSON-Dokumente, verschachtelte Strukturen, sich ändernde Schemata – dann ist MongoDB die natürliche Wahl. MongoDB Flex auf STACKIT gibt dir eine Managed-Instanz, die du sofort nutzen kannst, ohne Replica Sets oder Sharding selbst zu konfigurieren.
Was ist MongoDB Flex?
MongoDB Flex ist ein Managed-Database-Service auf STACKIT für die dokumentenorientierte Datenbank MongoDB. Du bekommst eine produktionsreite Instanz mit automatisiertem Betrieb.
- Flexible Dokumente: Speichere JSON-Dokumente ohne festes Schema – ideal für agile Entwicklung.
- Automatische Backups: Tägliche Snapshots mit konfigurierbarer Aufbewahrung.
- Skalierung: Storage und Compute unabhängig voneinander anpassen.
- Replica Sets: Optionale Replikation für Hochverfügbarkeit.
- Private Networking: Zugriff nur über STACKIT VPC.
Tutorial: MongoDB-Instanz erstellen und CRUD-Operationen ausführen
1. Instanz erstellen
stackit mongodbflex instance create \
--name meine-mongo-db \
--project-id your-project-id \
--version 7.0 \
--flavor db1.2 \
--storage 20
2. Credentials abrufen
stackit mongodbflex credentials list --instance meine-mongo-db
# Ausgabe:
# HOST meine-mongo-db.mongodb.stackit.cloud
# PORT 27017
# USER stackit_user
# PASSWORD ********
3. Verbindung mit mongosh testen
mongosh "mongodb://stackit_user:your-password@meine-mongo-db.mongodb.stackit.cloud:27017/defaultdb?tls=true"
4. CRUD-Operationen mit Python
from pymongo import MongoClient
client = MongoClient(
"mongodb://stackit_user:your-password@meine-mongo-db.mongodb.stackit.cloud:27017/defaultdb",
tls=True
)
db = client["defaultdb"]
collection = db["products"]
# Create
collection.insert_one({
"name": "STACKIT T-Shirt",
"price": 29.99,
"tags": ["merch", "clothing"]
})
# Read
product = collection.find_one({"name": "STACKIT T-Shirt"})
print(product)
# Update
collection.update_one(
{"name": "STACKIT T-Shirt"},
{"$set": {"price": 24.99}}
)
# Delete
collection.delete_one({"name": "STACKIT T-Shirt"})
5. CRUD-Operationen mit Node.js
const { MongoClient } = require("mongodb");
const uri = "mongodb://stackit_user:your-password@meine-mongo-db.mongodb.stackit.cloud:27017/defaultdb?tls=true";
const client = new MongoClient(uri);
await client.connect();
const collection = client.db("defaultdb").collection("products");
// Create
await collection.insertOne({ name: "Cloud Sticker", price: 2.99 });
// Read
const doc = await collection.findOne({ name: "Cloud Sticker" });
console.log(doc);
// Update
await collection.updateOne({ name: "Cloud Sticker" }, { $set: { price: 1.99 } });
// Delete
await collection.deleteOne({ name: "Cloud Sticker" });
await client.close();
Nächste Schritte
- Aktiviere Replica Sets für Hochverfügbarkeit in Produktionsumgebungen.
- Erstelle Indizes auf häufig abgefragten Feldern, um die Query-Performance zu optimieren.
- Nutze STACKIT Monitoring, um Verbindungen, Operationen und Speicherverbrauch zu überwachen.