MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Changez le type de champ dans l'agrégation mongoDB et $lookup utilise-t-il ou non l'index sur les champs?

Vous ne pouvez pas convertir la chaîne en un identifiant d'objet dans le pipeline, vous devrez parcourir chaque document et le convertir manuellement, en utilisant quelque chose comme (vous ne devriez pas stocker un mélange de types de toute façon, donc cela vaut probablement la peine de mettre à jour dans le long exécuter):

comment convertir une chaîne en valeurs numériques dans mongodb

quant à $lookup utilise-t-il l'index, si vous regardez les statistiques de ce blog, vous verrez que les index sont utilisés -

http://guyharrison.squarespace.com/blog/2016/7/4/join-performance-in-mongodb-32-using-lookup.html