因此,使用sailsJS,您可以将任何旧数据放入模型中,并将其放入数据库中,即使该项未在attributes
对象中定义。
有没有办法防止这种情况发生?尝试做一个if
然后抛出错误似乎很愚蠢,因为有太多事情要阻止它通过。
例如,我刚遇到问题,我有一个用户列表,我在前端通过角度ng-repeat
显示它们,当我put
数据保存用户时还决定"$$hashKey": "00I"
也与他们一起!
因此它会自动保存到数据库中,当我刷新并再次获取数据时,"$$hashKey": "00I"
将返回,从而导致此错误
错误:[ngRepeat:dupes]不允许在转发器中重复。使用'track by' 表达式以指定唯一键。 转发器:管理员中的(键,用户)| filter:userSearch,Duplicate key:object:00I
这来自棱角分明。
PS。
据我所知,服务器正在使用默认的sails-disk
答案 0 :(得分:4)
Sails.js模型的默认模式是无模式的,可能不是您需要的模式。因此,您所要做的就是为模型添加模式:
module.exports = {
schema: true,
attributes: {
// Define all your attributes here...
}
};
之后,attributes
中未描述的所有值将在模型保存期间自动过滤掉。