MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

critérios mongoides de trilhos encontrar por associação


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)