Вот Join по двум полям:

db.runtime.aggregate([{$lookup: { from: "settings", let: { pNickName: "$projectNickName", fVersion: "$flowVersion" }, pipeline: [ { $match: { $expr: { $and: [ { $eq: [ "$projectNickName", "$$pNickName" ] }, { $eq: [ "$flowVersion", "$$fVersion" ] } ] } } } ], as: 'settings' }}])

Дальше остается только фильтровать, думаю это не сложно.

Если данных много, то для полей "projectNickName" и "flowVersion" нужно добавить индекс в обоих коллекциях.