Ingebouwde schema-validatie van MongoDB
Hoewel MongoDB een flexibel schema heeft, wordt het ook geleverd met uitgebreide functionaliteit voor schema-validatie. Bij het aanmaken van een collectie kun je een JSON-schema opgeven om te beschrijven welk formaat documenten moeten volgen.
Let op: we gebruiken hier een willekeurig gegenereerde collectionnaam, zodat je vrij kunt experimenteren met meerdere inzendingen.
Deze oefening maakt deel uit van de cursus
Introductie tot MongoDB in Python
Oefeninstructies
- Pas de aanroep van
.create_collection() aan:titlemoet een"string"zijn. - Voeg de film in in je nieuw aangemaakte collectie met films,
mov. - Controleer het resultaat van de insert om te verifiëren dat het gelukt is.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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(____)