CommencerCommencer gratuitement

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

Afficher le cours

Instructions

  • Adaptez l’appel à .create_collection() : title doit ê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(____)
Modifier et exécuter le code