MongoDBの制約 MongoDBのコレクションに必須項目などの制約を設けたい時があります。制約の付け方については公式ドキュメントに例があるんですけど、色々とカバーしてある分、初見ではなかなか分かりづらいんですよね。 ここでは最小構成として、例えばオラクルで言うところの「NOT NULL」制約を設けたいと思います。MongoDBの言葉では「required」制約ですね。 コレクション作成時に設定する場合 DBバージョン3.6からはjson Schemaを使用できます。使うのは$jsonSchemaという演算子ですね。 ここではtestというデータベースを使います。createCollectionメソッドを使って明示的にコレクション作成しますが、その際にvalidatorにて制約を設定してみます。 > use test switched to db test > db.createColl
![MongoDB 3.6 でコレクションに制約を付ける - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/bb888e7ee6b4dca59fbfe3c3d06909b8e61b2e97/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9TW9uZ29EQiUyMDMuNiUyMCVFMyU4MSVBNyVFMyU4MiVCMyVFMyU4MyVBQyVFMyU4MiVBRiVFMyU4MiVCNyVFMyU4MyVBNyVFMyU4MyVCMyVFMyU4MSVBQiVFNSU4OCVCNiVFNyVCNCU4NCVFMyU4MiU5MiVFNCVCQiU5OCVFMyU4MSU5MSVFMyU4MiU4QiZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9YmFmZDNlMDU2NThmNGMyYjM1YmM3MzBkYTEwNzRhOTE%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBzZWthaV9ub19tYXJpbm8mdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPWVmN2Y0NjhhOTAyOGM2OTI3NTExNDRkNjRiZTc4MDUy%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3D037434b80e61408423cb6537a2c409d9)