Sie können die Zeichenfolge innerhalb der Pipeline nicht in eine Objekt-ID konvertieren, Sie müssen jedes Dokument durchgehen und es manuell konvertieren, indem Sie so etwas verwenden wie (Sie sollten sowieso keine gemischte Übereinstimmung von Typen speichern, daher lohnt es sich wahrscheinlich, sie auf lange Sicht zu aktualisieren ausführen):
wie man Strings in mongodb in numerische Werte umwandelt
was $lookup Index verwendet, wenn Sie sich die Statistiken aus diesem Blog ansehen, werden Sie sehen, dass Indizes verwendet werden -
http://guyharrison.squarespace.com/blog/2016/7/4/join-performance-in-mongodb-32-using-lookup.html