誤って重複した関係を作成してしまいました... 今、それらを削除する必要があります。ここで、サイファーの回答でクレイジーなことが起こっています。サイファーを使用して2つのノード間の重複した関係を削除するにはどうすればよいですか?
最初は、関係を見つけてから、その数を確認することに頭が下がりました。ただし、それは 2 つのノードが既にわかっている場合に限られます。
考え?
アップデート
user.friends.count > 1
多分私は何かが欠けているかもしれませんが、これはノードをカウントするため、重複の兆候を示すとは思いません
。2 回カウントされるノードがわからない
他のユーザーを取得する唯一の方法は、2 番目のループを実行することです。これは、クエリプロキシなしでユーザーに直接使用できる場合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