Musíte mít na paměti, že v mongodb nejsou žádná spojení. V relačních databázích includes
vytvoří spojovací dotaz a můžete použít sloupce z obou tabulek v dotazu. Kvůli absenci spojení v mongodb to však není možné.
V mongoidu includes
jen ušetří spoustu volání db. Načítá a ukládá přidružené záznamy v mapě identity pro rychlé vyhledání, ale přesto se během dotazování může jeden dotaz zabývat pouze jednou sbírkou.
Pokud potřebujete články založené na uživatelských jménech, navrhoval bych následující řešení:
user_ids = User.where(username: 'erebus').only(:_id).map(&:_id)
articles = Article.where(:user_id.in => user_ids)