Musisz pamiętać, że w mongodb nie ma złączeń. W relacyjnych bazach danych includes
tworzy zapytanie sprzężenia i można używać kolumn z obu tabel w zapytaniu. Jednak ze względu na brak złączeń w mongodb nie jest to możliwe.
W mongoid includes
po prostu zapisuje kilka połączeń db. Pobiera i przechowuje powiązane rekordy na mapie tożsamości w celu szybkiego pobrania, ale nadal podczas wykonywania zapytania jedno zapytanie może dotyczyć tylko jednej kolekcji.
Jeśli potrzebujesz artykułów opartych na nazwach użytkowników, proponuję następujące obejście:
user_ids = User.where(username: 'erebus').only(:_id).map(&:_id)
articles = Article.where(:user_id.in => user_ids)