Comme demandé, ce n'est pas possible. Le problème de serveur auquel vous êtes lié est toujours sous "problèmes dont nous ne sommes pas sûr". MongoDB a une certaine intelligence entourant l'utilisation de tableaux, et je pense que cela fait partie de la complexité entourant une telle fonctionnalité.
Répondez à la requête suivante db.foo.find({ 'a.b' : 4 })
. Cette requête correspondra aux documents suivants.
{ a: { b: 4 } }
{ a: [ { b: 4 } ] }
Alors qu'est-ce que "wildcard" fait ici? db.foo.find({ a.* : 4 })
Correspond-il au premier document? Qu'en est-il de la seconde?
De plus, qu'est-ce que cela signifie sémantiquement? Comme vous l'avez décrit, la requête est effectivement "trouver des documents où tout champ dans ce document a une valeur de 4". C'est un peu inhabituel.
Y a-t-il une sémantique spécifique que vous essayez d'atteindre? Peut-être qu'un changement dans la structure du document vous donnera la requête que vous voulez.
J'ai le même problème avec mongo. J'ai beaucoup de documents comme ceci: {one: {two: {more: data}, aussi: {more: data}}} une fois que vous avez un niveau profond dans l'arbre du document, chaque noeud au second niveau est un conteneur pour les documents avec une structure cohérente. donc je voudrais pouvoir chercher comme ceci: find ({'one. *. some.data': 5}) – rev