我正在使用 sails 0.11和 sails-mongo 0.11.2适配器。
我有一个带有昵称的用户模型,我希望昵称在每个用户中都是唯一的。我将属性指定为唯一,如下所示:
nickname: {
type: 'string',
unique: true
}
它不起作用,我可以添加两个具有相同昵称的用户而没有问题。关于如何解决这个问题的任何线索?。
答案 0 :(得分:1)
好吧,我正在努力解决这个问题,并解决了它。在config / locales / models.js中,更改migrate:' safe'迁移:'改变'。解除您的申请。如果您的唯一字段中有任何重复项,则在提升时会出现错误,您必须删除重复项。清理完任何重复的电梯后。独特应该现在工作。您现在可以更改为迁移:' safe'应该继续强制执行。
答案 1 :(得分:0)
您是否尝试将架构标志指定为true?
http://sailsjs.org/#!/documentation/concepts/ORM/model-settings.html
答案 2 :(得分:0)
按照设计,sails不会在生产中进行迁移,这就是为什么不生成mongo索引的原因。
一种解决方案是在需要时手动将索引添加到mongo集合中。
另一个解决方案是从sails迁移本地mongo DB并将其复制到生产数据库中,以便它具有索引。