sql >> Base de Datos >  >> NoSQL >> MongoDB

rieles criterios mongoide encontrar por asociación

Debe tener en cuenta que no hay uniones en mongodb. En bases de datos relacionales, includes forma una consulta de unión y puede usar columnas de ambas tablas en la consulta. Sin embargo, debido a la ausencia de uniones en mongodb, lo mismo no es posible.

En mongoid, includes solo guarda un montón de llamadas db. Obtiene y almacena los registros asociados en el mapa de identidad para una recuperación rápida, pero aun así, durante la consulta, una consulta solo puede tratar con una colección.

Si necesita artículos basados ​​en nombres de usuario, sugeriría la siguiente solución:

user_ids = User.where(username: 'erebus').only(:_id).map(&:_id)
articles = Article.where(:user_id.in => user_ids)