MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

rails criteri mongoid trovati per associazione

Devi tenere a mente che non ci sono join in mongodb. Nei dbs relazionali, includes forma una query di join ed è possibile utilizzare colonne di entrambe le tabelle nella query. Tuttavia, a causa dell'assenza di join in mongodb, lo stesso non è possibile.

In mongoid, includes salva solo un sacco di chiamate db. Recupera e archivia i record associati nella mappa dell'identità per un rapido recupero, ma durante l'esecuzione di query, una query può gestire solo una raccolta.

Se hai bisogno di articoli basati sui nomi utente, ti suggerisco di seguire le seguenti soluzioni:

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