Validation de schéma intégrée à MongoDB
Même si MongoDB propose un schéma flexible, il intègre aussi de nombreuses fonctionnalités de validation de schéma. Lors de la création d’une collection, vous pouvez préciser un schéma JSON décrivant le format attendu des documents.
Remarque : nous utilisons ici un nom de collection généré aléatoirement pour que vous puissiez expérimenter librement avec plusieurs envois.
Cet exercice fait partie du cours
Introduction à MongoDB en Python
Instructions
- Adaptez l’appel à
.create_collection() :titledoit être une"string". - Insérez le film dans votre nouvelle collection de films,
mov. - Inspectez le résultat de l’insertion pour vérifier qu’elle a réussi.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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(____)