LoslegenKostenlos loslegen

Integrierte Schemavalidierung in MongoDB

Auch wenn MongoDB ein flexibles Schema hat, bringt es umfangreiche Funktionen zur Schemavalidierung mit. Beim Erstellen einer Collection kannst du ein JSON Schema angeben, das beschreibt, welchem Format Dokumente folgen sollen.

Hinweis: Wir verwenden hier einen zufällig generierten Collection-Namen, damit du mit mehreren Einsendungen frei experimentieren kannst.

Diese Übung ist Teil des Kurses

Einführung in MongoDB mit Python

Kurs anzeigen

Anleitung zur Übung

  • Passe den Aufruf von .create_collection() an: title soll ein "string" sein.
  • Füge den Film in deine neu erstellte Movies-Collection mov ein.
  • Prüfe das Ergebnis des Einfügens, um sicherzustellen, dass es erfolgreich war.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# Create collection with schema spec
mov = client.film.create_collection(
  f"movies_{random.randint(1, 100)}",
  validator={
    "$jsonSchema": {
      "required": ["title", "genre", "release_year", "rating"],
      "properties": {
        "title": { "bsonType": ____ },
        "genre": { 
          "bsonType": "array",
          "items": { "bsonType": "string" }
        },
        "release_year": { "bsonType": "int" },
        "rating": { "bsonType": "double" },
        "won_oscar": { "bsonType": "bool" }
      }
    }
  }
)

# Insert movie
res = mov.____({
    "title": "the avengers",
    "genre": ["action", "adventure", "sci-fi"],
    "release_year": 2012,
    "rating": 8.0
})

# Print result
print(____)
Code bearbeiten und ausführen