我有一个Mongoose架构(摘录如下):
var PersonSchema = new Schema({
name : {
first: { type: String, required: true }
, last: { type: String, required: true }
}
...
我想检查架构以确定需要哪些字段,然后验证用户输入中是否存在这些字段。我可以测试name.first的'required'属性,如下所示:
var person_schema = require('../models/person');
if (person_schema.schema.paths['name.first'].isRequired) {
req.assert('first', messages.form_messages.msg_required).notEmpty();
但是感觉这是不安全的,因为内部架构细节可能会改变。还有更好的方法吗?