Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
Click here >
Docs Menu
Docs Home
/ /

スキーマ検証

スキーマ検証を使用すると、許可されるデータ型や値の範囲といったフィールドの検証ルールを作成できます。

MongoDB は柔軟なスキーマモデルを採用し、デフォルトでは 、コレクション内のドキュメントに同じフィールドまたはデータ型は必要ありません。アプリケーションスキーマを確立 したら、スキーマ検証を使用して、意図しないスキーマ変更やデータ型エラーを防ぎます。

MongoDB Atlas でホストされる配置向けに UI でのスキーマ検証を実装できます。

スキーマ検証ニーズは、アプリケーションがデータをどのように整理するかによって異なります。スキーマ検証機能は、定義されたデータ構造を持つ確立されたアプリケーションに最も役立ちます。

注意

スキーマ検証ルールも柔軟であるため、アプリケーションでその必要がある場合を除き、ドキュメント内のすべてのフィールドをカバーする必要はありません。

たとえば、次の状況でスキーマ検証を利用できます。

  • eventsコレクションの場合、start_dateフィールドにstring ではなく日付のみが保存されていることを確認します。コンシステント タイプ は、アプリケーションの接続で予期しない値を防ぐために使用されます。

  • storeコレクションの場合は、accepted_credit_cardsフィールドに ["Visa", "MasterCard", "American Express"] などの許容カードタイプのみが含まれていることを確認します。このルールにより、ユーザーがサポートされていない値を入力するのを防止します。

  • studentsコレクションの場合、gpaフィールドが常に正の浮動小数点数であることを確認します。このルールにより、データ入力エラーを防止できます。

コレクションにスキーマ検証ルールを追加すると、

  • すべてのドキュメント挿入はルールに一致する必要があります。

  • 検証レベルによって、既存ドキュメントとアップデートへのルールの適用方法が決まります。詳しくは、 既存ドキュメントの検証レベルを指定する を参照してください。

スキーマ検証ルールと一致しないコレクション内のドキュメントを検索するには、「スキーマに一致しないドキュメントの検索」を参照してください。

デフォルトでは 、 MongoDB は、無効なドキュメントを生成する挿入または更新操作を拒否します。

あるいは、スキーマ違反の発生時に、無効なドキュメントを許可し、警告をログようにMongoDBを構成することもできます。

詳細については、「無効なドキュメントの処理方法の選択」を参照してください。

スキーマ検証タスクについては、以下のページを参照してください。

MongoDB の柔軟なスキーマモデルの詳細については、MongoDBのデータモデリングを参照してください。

戻る

埋め込みを使用する

ルール バッジを取得する

「ドキュメントモデルに関連する」を無料でマスターします。

詳細

項目一覧