Mongoose - 验证架构路径是否与提供的属性匹配

时间:2016-06-12 16:32:20

标签: node.js mongodb mongoose

我试图实现与您使用的行为相同的行为。 MySQL

  

未知专栏' ...'在'字段列表'

我有2个文件

1 - models / user.js

// ...
let user = new mongoose.Schema({
    forename: String,
    surname: String
});

user.pre('save', (next)=> {
    // can I do the validation here ?
    next();
});
// ...

2 - seeder.js

// ...
let user = require('./models/user');

let usr = new user({name: "some forename", surname: "some surname"});

usr.save((error, response)=>{
    // ...
});
// ...

我想要做的是抛出name属性不在架构路径中的错误。

有什么想法吗?或者我应该创建一个自定义类,使用自定义方法扩展mongoose.Schema进行此类验证?

1 个答案:

答案 0 :(得分:0)

当预保存中间件运行时,Mongoose验证会运行,因此这可能是放置验证代码的好地方。请参阅有关验证的docs