steps.step
wird in diesem Fall zu einem Array von Strings ausgewertet ["s1", "s2"]
. Das normale $lookup
unterstützt einen solchen Vergleich und macht $in
hinter den Kulissen.
In Ihrem zweiten Beispiel verwenden Sie $expr
Sie müssen also die Ausdruckssprache verwenden, daher müssen Sie $in Betreiber:
$expr: { $in: ['$_id', '$$stepId'] }