CommencerCommencez 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

<cours>Introduction à MongoDB en Python</cours>
Voir le cours

Instructions de l’exercice

  • 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 ce code d’exemple.

# 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