Странное поведение ссылок в MongoDB - PullRequest
1 голос
/ 01 марта 2011

Я использую Rails 3 с Mongoid.

У меня есть два документа:

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

Проблема в том, что я могу получить пользователя любого данного статуса, но я не могу получитьсписок статусов от пользователя!

т.е..

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

user = MyUser.first
user.statuses # this one outputs [] instead of the list of statuses...

Скажите, пожалуйста, что я сделал не так?Я всего несколько дней с Монго ......

1 Ответ

1 голос
/ 01 марта 2011

Ваш код выглядит правильно для меня.

Вы уверены, что MyStatus.first.user == MyUser.first?

Возможно, у вас есть несколько пользователей в вашей базе данных ... где первый пользователь не имеет статусов, а второй имеет статус1 в своем списке.

Чтобы проверить это, попробуйте сделать:

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