面试题答案
一键面试整体思路
- 在验证函数中首先判断文档是否为新格式,可通过检查新增字段是否存在来判断。
- 如果是新格式文档,对新增必填字段进行验证,确保其有值。
- 如果是旧格式文档,直接通过验证,不要求新增字段存在。
核心代码示例
function(doc) {
// 假设新增的必填字段为 "new_field"
if (doc.new_field) {
// 验证新文档的新增必填字段
if (!doc.new_field) {
throw({forbidden: "new_field is required for new documents"});
}
}
// 旧文档无需额外验证,直接通过
}