如果实体包含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

10-07 18:58
查看更多