我不小心创建了重复的关系......现在我需要删除它们。我们在这里的密码答案中发生了一些疯狂的事情,如何使用密码删除两个节点之间的重复关系?
起初我的思绪徘徊在寻找关系然后检查它的数量。但这只有在我已经知道这两个节点的情况下。
想法?
更新
也许我遗漏了一些东西,但我认为这不会给我一个重复的迹象,
user.friends.count > 1
因为这会计算节点。我不知道哪些节点被计算了两次
我能想到让其他用户的唯一方法是做第二个循环。我认为如果first_rel_to
并且match_to
可以在没有查询代理的情况下直接在用户上使用,这可能会起作用
User.all.each do |user|
user.friends.each do |friend|
user.first_rel_to(friend).destroy if (user.match_to(friend).count > 1)
end
end
所以..必须这样做吗...?
答:是的,必须这样做
User.all.each do |user|
user.friends.each do |friend|
user.friends.first_rel_to(friend).destroy if (user.friends.match_to(friend).count > 1)
end
end