steps.step
restituisce un array di stringhe in questo caso ["s1", "s2"]
. La normale $lookup
supporta tale confronto e fa $in
dietro le quinte.
Nel tuo secondo esempio stai usando $expr
quindi devi usare il linguaggio delle espressioni quindi devi usare $in operatore:
$expr: { $in: ['$_id', '$$stepId'] }