如果实体包含api / models / YourModel中未声明的属性,是否可以防止实体创建?
例如,假设我使用了MongoDB,并且我有以下User
模型:
module.exports = {
attributes: {
name:{type:'string'},
age:{type:'number'}
}
};
我尝试使用以下代码
.create
:User.create({name:'Walter Jr',age:8,missingTest:'something'}).exec(function createCB(err,created){
console.log('should fail');
});
另外,如果一个实体与另一个模型有关系/关联,那么如果实体ID指向无效实体,创建也不应该失败吗?
也许我在验证过程中遗漏了一些东西,但是到目前为止,这种行为对我来说似乎有点奇怪,而且如果水线具有复合主键支持,那也很好。
最佳答案
您可以尝试将schema : true
放在config / models.js下
医生说:
在支持无模式数据结构的数据库中切换无模式或模式模式的标志。如果关闭,这将允许您在记录中存储任意数据。如果启用,则仅存储在模型的属性对象中定义的属性。
对于不需要架构的适配器(例如Mongo或Redis),默认设置为schema:false。
http://sailsjs.org/#!/documentation/concepts/ORM/model-settings.html