Aan de slagGa gratis aan de slag

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

Cursus bekijken

Oefeninstructies

  • Pas de aanroep van .create_collection() aan: title moet 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(____)
Code bewerken en uitvoeren