sql >> Database >  >> NoSQL >> MongoDB

rails mongoïde criteria zoeken per vereniging

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)


  1. De gevaren van het bouwen van indexen op MongoDB

  2. Alleen subdocument opvragen en overeenkomend subdocument retourneren

  3. Mongodb Aggregatieraamwerk voor grails 1.3.7

  4. MongoDB zoek vergelijking met CurrentDate