新手问题 mongoid follow 设计 (同时返回不同表结果集)

whatisruby · 2012年12月18日 · 最后由 whatisruby 回复于 2012年12月19日 · 2256 次阅读

(修改:目前主要的问题可能还是如何同时返回不同表字段的结果集)

最近折腾 mongodb,又碰到个新手问题

问题是关于“关注”的问题,我想得到的结果是我的粉丝列表(同时要获取 1:粉丝 name,2:我对该粉丝是否也关注,3:粉丝对我的关注时间) 大概 model 如下

User
   include Mongoid::Document
   include Mongoid::Timestamps
   field :name
end

UserRelation
  include Mongoid::Document
  include Mongoid::Timestamps
    field: from_user_id   #关注者id
    field: to_user_id     #被关注者id
end

请问如何实现返回结果的 json 格式是? [{"name":"xx","status":"未关注","time":"2012:12:12"},{"name":"oo","status":"已经关注","time":"2012:12:22"}]

#1 楼 @shiren1118 非常感谢,我先看看情况

#1 楼 @shiren1118 这个貌似是用了 activerecord 的 through,在 mongoid 貌似没有这个功能吧。。

嗯,你看看 has_many 和 belongs 是什么意思就知道了

#4 楼 @shiren1118 恩,不过对我来说,用上面的表设计,应该也能实现 麻烦的还是不知道怎样一次性返回不同表的结果集,如 [{"name":"xx","status":"未关注","time":"2012:12:12"},{"name":"oo","status":"已经关注","time":"2012:12:22"}] name:是 users 表,status:是判断出来的,time:是 user_relations 表的

需要 登录 后方可回复, 如果你还没有账号请 注册新账号