我在我的rails应用程序中犯了一个错误,而且我没有强制执行登录的唯一性。现在我想通过在我的代码中查找并删除重复项(手动)来清理这个混乱。
我可以在Rails控制台中输入一个很好的命令,让我找到那些重复项吗?例如。找到两个具有相同登录名的用户,并且可能会创建一个重复数组的数组?
答案 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