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
Anleitung zur Übung
- Passe den Aufruf von
.create_collection() an:titlesoll ein"string"sein. - Füge den Film in deine neu erstellte Movies-Collection
movein. - 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(____)