Rails检查重复的模型

时间:2015-06-19 12:17:58

标签: ruby-on-rails-4 mongoid4

我在我的rails应用程序中犯了一个错误,而且我没有强制执行登录的唯一性。现在我想通过在我的代码中查找并删除重复项(手动)来清理这个混乱。

我可以在Rails控制台中输入一个很好的命令,让我找到那些重复项吗?例如。找到两个具有相同登录名的用户,并且可能会创建一个重复数组的数组?

1 个答案:

答案 0 :(得分:0)

假设您的模型为User并且您正在寻找重复属性login,那么您应该可以执行以下操作:

User.find_by_sql("SELECT u1.id, u1.login FROM users u1 LEFT JOIN users u2 WHERE u1.login=u2.login AND u1.id!=u2.id ORDER BY u1.login, u1.id")

当然,您可以更改选择以包含您需要的任何属性,以便决定如何处理重复项。

Mongoid的{p> 编辑look at this link