Você deve ter em mente que não há junções no mongodb. Em bancos de dados relacionais,
includes
forma uma consulta de junção e você pode usar colunas de ambas as tabelas na consulta. No entanto, devido à ausência de junções no mongodb, o mesmo não é possível. Em mongoid,
includes
apenas salva um monte de chamadas db. Ele busca e armazena os registros associados no mapa de identidade para recuperação rápida, mas ainda durante a consulta, uma consulta só pode lidar com uma coleção. Se você precisar de artigos baseados em nomes de usuário, sugiro o seguinte:
user_ids = User.where(username: 'erebus').only(:_id).map(&:_id)
articles = Article.where(:user_id.in => user_ids)