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

Mongoid - dotazování podle odkazovaného dokumentu

Problém je v tom, že MongoDB nemá žádný způsob mapování Category záznam do Ad záznam. Ví jen, že Ad záznam má category_id tak 'category.domain_id' vždy nic nevrátí. Tečkový zápis uvnitř dotazů funguje pouze pro vložené dokumenty, nikoli pro odkazy (které jsou v MongoDB stále občany druhé kategorie).

Takže k vyřešení vašeho problému budete potřebovat 2 dotazy:

category_ids = Category.where(:domain_id => domain.id).map(&:_id)
Ad.where(:category_id.in => category_ids)



  1. Jak mohu používat Tornado a Redis asynchronně?

  2. setDate nenastavuje správně datum uvnitř eval v dávkovém skriptu

  3. MongoTemplate metoda nebo dotaz pro nalezení maximálních hodnot z polí

  4. MongoDb :Najděte společný prvek ze dvou polí v dotazu