Node.js 如何从Mongoose模式中仅获取所需的文件?

Node.js 如何从Mongoose模式中仅获取所需的文件?,node.js,mongodb,mongoose,nosql,Node.js,Mongodb,Mongoose,Nosql,我正在寻找一种在未设置所需输入时向客户端发送自定义错误消息的方法 Mongoose模式示例: this._schema = new mongoose.Schema({ email: { type: String, unique: true, required: true } }); 我使用一个this.\u schema.pre('validate')函数来测试所需的输入是否缺失,如果缺失,则将一个自定义AppError传递给我的

我正在寻找一种在未设置所需输入时向客户端发送自定义错误消息的方法

Mongoose模式示例:

this._schema = new mongoose.Schema({
    email: {
        type: String,
        unique: true,
        required: true
    }
});
我使用一个
this.\u schema.pre('validate')
函数来测试所需的输入是否缺失,如果缺失,则将一个自定义
AppError
传递给我的
next()
函数,该函数将处理其余部分

预验证:

this._schema.pre('validate', function(next) {
    if(!this.email) return next(new AppError('Email not set'));
    next();
});
我不想使用
if
语句列表手动检查每个字段。相反,我希望循环所有必需的字段,如果其中一个字段丢失,则抛出错误(对于嵌套字段,循环也应该是递归的)

问题: 如何在必填字段上循环并将第一个缺少的字段传递给错误?

注意:我不确定这是不是正确的方法,所以欢迎其他解释!发现了一些东西,但我不确定这是正确的答案