使用mongomapper在列表中获取不同的用户

时间:2012-04-28 16:22:37

标签: ruby-on-rails mongodb mongomapper

我正在创建一个用户可以在某些地方办理登机手续的应用程序,因此一个地方可能包含许多签到,用户可以根据需要随时办理登机手续

有一个地方和签到列表我可以看到用户,但如果用户多次登记用户列表将包含重复用户。

我如何获得在特定地点办理登机手续的明确用户列表,我使用的是mongomapper

1 个答案:

答案 0 :(得分:0)

如果嵌入了checkins,那么您将不得不使用Ruby的uniq进行“不同”过滤。

如果你的签到是简单的Mongo文件,如下所示:

{
  _id:      ObjectId("123abc"),
  place_id: ObjectId("123abc"),
  user_id:  ObjectId("123abc")
}

...然后你可以做CheckIns.where(:place_id => my_place.id).distinct(:user_id)。然后将这些映射到用户。

根据您提供的有关架构的非常少的信息,听起来您的数据具有很强的关系性。 可能最好使用关系数据库。