Jak zapytano, nie jest to możliwe. Problem z serwerem, do którego się połączyłeś, nadal znajduje się w sekcji „problemy, których nie jesteśmy pewni” .
MongoDB ma pewną inteligencję związaną z wykorzystaniem tablic i myślę, że jest to część złożoności otaczającej taką funkcję.
Wykonaj następujące zapytanie db.foo.find({ 'a.b' : 4 } )
. To zapytanie będzie pasować do następujących dokumentów.
{ a: { b: 4 } }
{ a: [ { b: 4 } ] }
Więc co robi tutaj „dzika karta”? db.foo.find( { a.* : 4 } )
Czy pasuje do pierwszego dokumentu? A co z drugim?
Co więcej, co to oznacza semantycznie? Jak już opisałeś, zapytanie to w rzeczywistości „znajdź dokumenty, w których dowolne pole w tym dokumencie ma wartość 4” . To trochę niezwykłe.
Czy jest jakaś konkretna semantyka, którą próbujesz osiągnąć? Być może zmiana w strukturze dokumentu zapewni żądane zapytanie.