sql >> データベース >  >> NoSQL >> MongoDB

MongoDBでドキュメントの値の型チェックを実施するにはどうすればよいですか?

    あなたはこのようにそれを行うことができます。これは単なる例です。

    db.createCollection( "people" , {
       validator: {
         $jsonSchema: {
            bsonType: "object",
            additionalProperties: false, //wont't allow additional properties to be added, Use if you want to restrict people from adding extra fields.
     required: ["name","age"], //document must contain these fields, else operation will fail/log warning depending on `validationLevel` and `validationAction`
            properties: {
               _id : {
                  bsonType: "objectId" },
               name: {
                  bsonType: "string", //type of name
                  description: "required and must be a string" },
               age: {
                  bsonType: "int", //type of age
                  minimum: 0,
                  maximum: 100,
                  description: "required and must be in the range 0-100" }
            }
         }},
         validationLevel: "moderate",
         validationAction: "error"
    })
    
    • 新しいコレクションを作成するときに検証ルールを指定するには、db.createCollection()を使用します validatorを使用 オプション。次に、$jsonSchemaを使用します ドキュメント内のvalidator insertに指定されたスキーマを適用します およびupdate 操作。

    • 更新中にMongoDBが既存のドキュメントに検証ルールをどの程度厳密に適用するかを決定するvalidationLevelオプション、および

    • 検証アクションオプション。MongoDBが検証ルールに違反するドキュメントをエラーにして拒否するか、ログの違反について警告するが無効なドキュメントを許可するかを決定します。

    • 既存のコレクションにドキュメント検証を追加するには、collModを使用します validatorを使用したコマンド オプション。

    • コレクションに検証を追加すると、既存のドキュメントは変更されるまで検証チェックを受けません。

    これらのリンクをお読みください:-

    https://docs.mongodb.com/manual/core/schema-validation/

    https://docs.mongodb.com/manual/ reference / operator / query / jsonSchema /#op._S_jsonSchema




    1. ReactiveMongoでPlay!2.5をセットアップする方法

    2. sidekiqのジョブの実行時間を短縮します

    3. Ruby on Rails MongoidとWebfaction:クエリが許可されていません(エラー16550)

    4. C#mongodb-ネストされた配列要素を更新する方法