steps.step
оценява на масив от низове в този случай ["s1", "s2"]
. Редовният $lookup
поддържа такова сравнение и прави $in
зад сцената.
Във вашия втори пример използвате $expr
така че трябва да използвате изразен език, следователно трябва да използвате $in оператор:
$expr: { $in: ['$_id', '$$stepId'] }