Problemet er, at MongoDB ikke har nogen måde at kortlægge en Category
optage til en Ad
optage. Det eneste, den ved, er, at en Ad
posten har en category_id
felt så 'category.domain_id'
vil altid ikke returnere noget. Punktnotationen i forespørgsler virker kun for indlejrede dokumenter, ikke referencer (som stadig er andenrangsborgere i MongoDB).
Så for at løse dit problem skal du bruge 2 forespørgsler:
category_ids = Category.where(:domain_id => domain.id).map(&:_id)
Ad.where(:category_id.in => category_ids)