L'opérateur positionnel ne prend en charge qu'un seul niveau de profondeur et uniquement le premier élément correspondant.
Il existe un suivi JIRA pour le type de comportement que vous souhaitez ici :https://jira.mongodb.org/browse/SERVER-831
Je ne sais pas si cela permettra plus d'un match, mais je pense que ce sera en raison de la dynamique de la façon dont cela devra fonctionner.