开发者

Strange behavior of references in MongoDB

I am using Rails 3 with Mongoid.

I have two documents:

class MyUser
  include Mongoid::Document

  field ......

  references_many :statuses, :class_name => "MyStatus"
end

class MyStatus
  include Mongoid::Document

  field ......

  referenced_in :user, :class_name => "MyUser"
end

The problem is, I can get the user of any given status, but I cannot get the list of statuses from a user!

ie.

status = MyStatus.first
status.user # the output is correct here

user = MyUser.first
user.statuses开发者_开发技巧 # this one outputs [] instead of the list of statuses...

Please tell me what have I done wrong? I am just a few days with mongo......


Your code looks correct to me.

Are you sure that MyStatus.first.user == MyUser.first ?

It's possible that you have multiple users in your db.. where the first user has no statuses, and the second user has status1 in his list.

To test this, try doing:

status = MyStatus.first
user = status.user 
user.statuses         # Should return at least one status
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜