Mongoid запрос в Rails: могу ли я найти только те записи, которые имеют встроенные дочерние объекты? - PullRequest
0 голосов
/ 27 марта 2012

Я хотел бы написать запрос в модели Rails, используя mongoid, и я хотел бы, чтобы он возвращал только те записи, которые имеют встроенные дочерние объекты (в данном случае, рабочие ссылки клиента).

Я только хочу найти клиентов со встроенными рабочими ссылками.

Это то, что я хотел бы, хотя, очевидно, это не работает из-за параметров "где".

def self.latest_client_press

    Work.where("!self.work_links.empty?").desc(:updated_at).limit(4)

end

1 Ответ

0 голосов
/ 27 марта 2012

В то время как в MongoDB можно запрашивать размер массива , эта функция довольно ограничена.

Вместо этого люди (и то, что рекомендуется на этой странице) делают длину массива хранилища вместе с самим массивом.Таким образом, вы можете очень эффективно индексировать это поле и запрашивать документы.

...