Zacznij terazZacznij za darmo

Wbudowana walidacja schematu w MongoDB

Choć MongoDB oferuje elastyczny schemat, ma też rozbudowane możliwości walidacji schematu. Tworząc kolekcję, możesz określić schemat JSON opisujący, jaki format powinny mieć dokumenty.

Uwaga: używamy tu losowo wygenerowanej nazwy kolekcji, dzięki czemu możesz swobodnie eksperymentować z wielokrotnymi przesłaniami.

To ćwiczenie jest częścią kursu

Wprowadzenie do MongoDB w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Dostosuj wywołanie .create_collection(): pole title powinno mieć typ "string".
  • Wstaw film do nowo utworzonej kolekcji filmów mov.
  • Sprawdź wynik wstawienia, aby upewnić się, że zakończyło się sukcesem.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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(____)
Edytuj i uruchom kod