sql >> Databáze >  >> NoSQL >> MongoDB

kolejnice monoidní kritéria najít podle asociace

Musíte mít na paměti, že v mongodb nejsou žádná spojení. V relačních databázích includes vytvoří spojovací dotaz a můžete použít sloupce z obou tabulek v dotazu. Kvůli absenci spojení v mongodb to však není možné.

V mongoidu includes jen ušetří spoustu volání db. Načítá a ukládá přidružené záznamy v mapě identity pro rychlé vyhledání, ale přesto se během dotazování může jeden dotaz zabývat pouze jednou sbírkou.

Pokud potřebujete články založené na uživatelských jménech, navrhoval bych následující řešení:

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


  1. Mongoose najít jeden a tlačit na pole dokumentů

  2. Mongoose:Musí být vlastní _id deklarováno jako index a musí být jedinečné

  3. MongoDB:Pomalý dotaz, dokonce i s indexem

  4. Python a MongoDB:Připojení k NoSQL databázím