始める無料で始める

MongoDB の組み込みスキーマバリデーション

MongoDB はスキーマが柔軟ですが、スキーマバリデーションのための強力な機能も標準で備えています。 コレクションを作成するときに、ドキュメントが従うべき形式を記述する JSON スキーマを指定できます。

注意: ここでは送信を何度でも試せるよう、ランダムに生成したコレクション名を使用しています。

この演習はコースの一部です

Pythonで学ぶMongoDB入門

コースを見る

演習の手順

  • .create_collection() の呼び出しを調整し、title"string" になるようにします。
  • 作成したばかりの映画コレクション mov に、映画ドキュメントを挿入します。
  • 挿入結果を確認し、成功しているか確かめます。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# 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(____)
コードを編集して実行