【问题标题】:Sails.js composite unique fieldSails.js 复合唯一字段
【发布时间】:2014-09-15 10:05:33
【问题描述】:

这个模型给了我想要的效果,但代价是重复的数据和一般的丑陋:

//Example
var Example = {
    attributes: {
        foo: { 
            type: 'string',
            required: true
        },
        bar: {
            type: 'string',
            required: true,
        },
        baz: {
            type: 'integer',
            required: true,
            min: 1
        },
        foobar: {
            type: 'string',
            unique: true
        }
    },
    beforeValidation : function(values,cb) {
        values.foobar = values.foo+values.bar;
        cb();
    }
};
module.exports = Example;

有没有更好的策略来创建复合唯一键?

【问题讨论】:

  • 我也在寻找这个问题的答案,但在水线中。您是否使用过这种技术并且对您有用吗?或者您是否使用了特定于数据库的解决方案(不是我想要追求的)?

标签: sails.js waterline


【解决方案1】:

没有办法直接在sails 中执行此操作,请参阅https://github.com/balderdashy/waterline/issues/221。最好的解决方案是直接在您计划使用的数据库中执行此操作。

【讨论】:

  • 在数据库中这样做的问题是,当您想在另一个表中将复合主键作为外键引用时,Waterline ORM 不会为您做任何事情。您最终将自己实现 ORM 的那一部分。在这种情况下,提问者的解决方案可能比在数据库级别实现它更好。
猜你喜欢
  • 2018-08-15
  • 2020-12-15
  • 2017-02-03
  • 2015-06-10
  • 1970-01-01
  • 2013-12-07
  • 1970-01-01
  • 2016-04-16
  • 2013-09-27
相关资源
最近更新 更多