ใช้ validator option ใน createCollection() เพื่อกำหนด validation rules สำหรับเอกสาร สร้างคอลเลกชันพร้อม validation:
> db.createCollection("demo356", {validator: {
$and: [ {"FirstName": {$type: "string", $exists: true}} ]
}})
{ "ok" : 1 }
ลองเพิ่มข้อมูลที่ถูกต้อง (string):
> db.demo356.insertOne({"FirstName":"Chris"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e568d49f8647eb59e5620c7") }
ลองเพิ่มข้อมูลที่ผิด (number):
> db.demo356.insertOne({"FirstName":909});
WriteError: Document failed validation
แสดงข้อมูลที่บันทึกสำเร็จ:
> db.demo356.find();
ผลลัพธ์ (มีแค่ Chris):
{ "_id" : ObjectId("5e568d49f8647eb59e5620c7"), "FirstName" : "Chris" }
Validation Options
validationLevel:strict(default, validate ทุก insert/update),moderate(validate เฉพาะเอกสารที่มีอยู่แล้วและ update)validationAction:error(default, reject),warn(log warning แต่ allow)- ใช้ JSON Schema (MongoDB 3.6+):
{$jsonSchema: {bsonType: "object", required: ["FirstName"], properties: {FirstName: {bsonType: "string"}}}} - ดู validation:
db.getCollectionInfos({name: "demo356"})