← NoSQL & Data Lanjutan19 / 29
Schema Validation di Sisi Database
Fleksibilitas MongoDB berubah menjadi masalah begitu beberapa layanan menulis ke koleksi yang sama dengan bentuk berbeda-beda. Karena itu MongoDB menyediakan validator di level database: aturan yang menolak dokumen yang tidak memenuhi bentuk yang kamu tetapkan, apa pun jalur masuknya. Berbeda dengan skema Mongoose yang hanya berlaku di aplikasimu, validator ini ditegakkan oleh server. Praktik yang lazim: pasang validator untuk bidang yang benar-benar wajib, lalu biarkan sisanya tetap fleksibel supaya keunggulan dokumen tidak hilang.
👀 Contoh dulu
db.createCollection('log', {
validator: { $jsonSchema: { required: ['level'] } },
});Hasilnya: { ok: 1 }
📝 Sekarang giliranmu
Buat koleksi pengguna beserta validator $jsonSchema yang mewajibkan bidang email ada di setiap dokumen. Pakai db.createCollection dengan opsi validator.
Preview