stackit.guru
DE

MongoDB Flex – Managed Dokumentendatenbank auf STACKIT

#database
database mongodb nosql

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.