MongoDB的文檔驗證功能可以在集合創建時指定驗證規則。通過指定驗證規則,可以確保插入的文檔滿足特定的條件。以下是使用文檔驗證功能的步驟:
db.createCollection("myCollection", {
validator: {
$jsonSchema: {
bsonType: "object",
required: ["name", "gender", "age"],
properties: {
name: {
bsonType: "string",
description: "must be a string and is required"
},
gender: {
bsonType: "string",
description: "must be a string and is required"
},
age: {
bsonType: "int",
minimum: 0,
description: "must be a positive integer and is required"
}
}
}
}
})
上面的代碼創建了一個名為myCollection
的集合,并定義了一個驗證規則,要求插入的文檔必須包含name
、gender
和age
字段,并且name
和gender
必須是字符串類型,age
必須是正整數。
age
字段的文檔:db.myCollection.insertOne({
name: "Alice",
gender: "female"
})
將會返回以下錯誤:
WriteError({
"index" : 0,
"code" : 121,
"codeName" : "DocumentValidationFailure",
"errmsg" : "Document failed validation",
"op" : {
"name" : "Alice",
"gender" : "female"
}
})
通過使用文檔驗證功能,可以確保插入的文檔滿足特定的條件,提高數據的完整性和一致性。