帆0.11& Sails-Mongo 0.11.2唯一约束不起作用

时间:2015-05-29 23:26:37

标签: mongodb sails.js sails-mongo

我正在使用 sails 0.11和 sails-mongo 0.11.2适配器。

我有一个带有昵称的用户模型,我希望昵称在每个用户中都是唯一的。我将属性指定为唯一,如下所示:

nickname: {
   type: 'string',
   unique: true
}

它不起作用,我可以添加两个具有相同昵称的用户而没有问题。关于如何解决这个问题的任何线索?。

3 个答案:

答案 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并将其复制到生产数据库中,以便它具有索引。