ユーザーが場所によってはチェックインできるアプリケーションを作成しているので、場所には多くのチェックインが含まれている可能性があり、ユーザーは何度でもチェックインできます。
場所とチェックインのリストがあると、ユーザーを確認できますが、ユーザーが複数回チェックインした場合、ユーザーのリストには重複したユーザーが含まれます。
特定の場所にチェックインしたユーザーの個別のリストを取得するにはどうすればよいですか。mongomapperを使用しています。
ユーザーが場所によってはチェックインできるアプリケーションを作成しているので、場所には多くのチェックインが含まれている可能性があり、ユーザーは何度でもチェックインできます。
場所とチェックインのリストがあると、ユーザーを確認できますが、ユーザーが複数回チェックインした場合、ユーザーのリストには重複したユーザーが含まれます。
特定の場所にチェックインしたユーザーの個別のリストを取得するにはどうすればよいですか。mongomapperを使用しています。
チェックインが埋め込まれている場合は、Rubyの「個別の」フィルタリングを実行する必要がありますuniq
。
チェックインが次のような単純なMongoドキュメントの場合:
{
_id: ObjectId("123abc"),
place_id: ObjectId("123abc"),
user_id: ObjectId("123abc")
}
...その後、あなたはすることができますCheckIns.where(:place_id => my_place.id).distinct(:user_id)
。次に、それらをユーザーにマップします。
スキーマについて提供したごくわずかな情報から、データは強力にリレーショナルであるように思われます。リレーショナルデータベースを使用したほうがよい場合があります。