Malheureusement, le manuel MongoDB ne mentionne pas actuellement l'utilisation potentielle de l'index pour $lookup
, mais c'est définitivement le cas.
Une simple $lookup
une requête similaire à votre exemple effectue une correspondance d'égalité sur le foreignField
dans une autre collection, vous avez donc ajouté l'index correct pour améliorer les performances (en supposant que ce champ est également raisonnablement sélectif).
Comme à MongoDB 4.0, l'utilisation de l'index pour $lookup
n'est pas signalé dans résultat d'explication d'agrégation
. Il y a un problème pertinent à surveiller/voter dans le suivi des problèmes MongoDB :SERVER-22622 :Améliorer $ lookup expliquer pour indiquer le plan de requête sur la collection "de"
.