2010-11-22 1 views
0

Скажет у меня есть следующий объект:Вызов находки (: все) из объекта экземпляра в Mongoid

{ "text" : "oa3", "topic_ids" : [ ObjectId("4cea00efd8030a35eb000004") ]} 

У меня есть объект, представляющее это называется «»

a.topics.find(:all).count #this returns 0 

Я чувствую, что я я делаю это неправильно.

Как получить итератор для тем в этом конкретном объекте?

ответ

4
# get the number of topics 
a.topics.count 

# same but faster 
a.topic_ids.count 

# get an array of the topics 
a.topics.entries 

# do a query on the topics 
a.topics.where(:title => 'Movies').entries 

Ключ использовать критерии Mongoid (в Model.where или Model.association.where) делать запросы вместо искатели ActiveRecord стилей (Model.find). Поиск в стиле ActiveRecord действительно просто для удобства - реальная сила монгоидов в критериях.

Более подробная информация на сайте Mongoid:

http://mongoid.org/docs/querying/