MST

星途 面试题库

面试题:CouchDB设计文档验证函数的基本扩展场景

在CouchDB中,已知一个简单的设计文档验证函数用于确保文档中的'name'字段不为空。现在要求扩展该函数,使其同时验证'age'字段为大于18的整数,描述实现思路并给出大致代码。
19.6万 热度难度
数据库CouchDB

知识考点

AI 面试

面试题答案

一键面试

实现思路

  1. 首先获取文档中的nameage字段。
  2. 验证name字段不为空。
  3. 验证age字段是整数类型且大于18。

大致代码

function(newDoc, oldDoc, userCtx, secObj) {
    // 验证name字段不为空
    if (!newDoc.name || newDoc.name === "") {
        throw({forbidden: "name field cannot be empty"});
    }
    // 验证age字段
    if (!newDoc.age || typeof newDoc.age!== 'number' || newDoc.age <= 18 || newDoc.age % 1!== 0) {
        throw({forbidden: "age field must be an integer greater than 18"});
    }
}