Jak jsme se zeptali, není to možné. Problém serveru, na který jste odkazovali, je stále pod „problémy, kterými si nejsme jisti“ .
MongoDB má určitou inteligenci týkající se používání polí a myslím, že to je součástí složitosti takové funkce.
Použijte následující dotaz db.foo.find({ 'a.b' : 4 } )
. Tento dotaz bude odpovídat následujícím dokumentům.
{ a: { b: 4 } }
{ a: [ { b: 4 } ] }
Co zde tedy dělá „divoká karta“? db.foo.find( { a.* : 4 } )
Odpovídá prvnímu dokumentu? Co ten druhý?
Navíc, co to znamená významově? Jak jste popsali, dotaz je v podstatě "najít dokumenty, kde kterékoli pole v tomto dokumentu má hodnotu 4" . To je trochu neobvyklé.
Existuje nějaká konkrétní sémantika, které se snažíte dosáhnout? Možná vám změna struktury dokumentu poskytne požadovaný dotaz.