Je moet er rekening mee houden dat er geen joins zijn in mongodb. In relationele dbs, includes
vormt een join-query en u kunt kolommen uit beide tabellen in de query gebruiken. Vanwege het ontbreken van joins in mongodb is hetzelfde echter niet mogelijk.
In mongoid, includes
scheelt gewoon een hoop db-oproepen. Het haalt de bijbehorende records op en slaat ze op in de identiteitskaart om ze snel op te halen, maar toch kan tijdens het doorzoeken één zoekopdracht maar één verzameling behandelen.
Als je artikelen nodig hebt op basis van gebruikersnamen, raad ik je aan om het volgende te omzeilen:
user_ids = User.where(username: 'erebus').only(:_id).map(&:_id)
articles = Article.where(:user_id.in => user_ids)