callback
indefine
在 Vogels 2.0 中被删除:
https ://github.com/ryanfitz/vogels/commit/6d5e70e4fdcfd5f28058298bc63cf749d15837a9
现在的第二个参数define
是模式。如果您将函数作为第二个参数传递,则会收到此错误,因为 Vogel 认为您正在尝试使用 Vogels 1.x:
if(_.isFunction(config)) {
throw new Error('define no longer accepts schema callback, migrate to new api');
}
资料来源:https ://github.com/ryanfitz/vogels/commit/6d5e70e4fdcfd5f28058298bc63cf749d15837a9#diff-6d186b954a58d5bb740f73d84fe39073R121
因此,请检查调用中的第二个参数define
。那应该是 JSON 格式的模式,而不是函数。官方文档的一个例子:
var Account = vogels.define('Account', {
hashKey : 'email',
// add the timestamp attributes (updatedAt, createdAt)
timestamps : true,
schema : {
email : Joi.string().email(),
name : Joi.string(),
age : Joi.number(),
roles : vogels.types.stringSet(),
settings : {
nickname : Joi.string(),
acceptedTerms : Joi.boolean().default(false)
}
}
});