Database
[{"_id":"628c774c0ffe2cd088654ddd","title":"project 1 test","user":{"firstName":"cust","lastName":"cust"}},{"_id":"628e08bbc92d4b969cf4c92e","title":"test 3","user":{"firstName":"test","lastName":"cust"}},{"_id":"62971ae1d4e0df6adade2998","title":"test new project optimise","user":{"firstName":"cust","lastName":"cust"}},{"_id":"629ed780d1e6eabef7b82c70","title":"test 1 project","user":{"firstName":"test","lastName":"test"}},{"_id":"629776b5d4e0df6adade3283","title":"test pro","user":{"firstName":"cust","lastName":"cust"}},{"_id":"62971d80d4e0df6adade2b96","title":"new project invite","user":{"firstName":"cust","lastName":"cust"}},{"_id":"6294b28b045eeaa3a8db88b5","title":"final test","user":{"firstName":"cust","lastName":"cust"}}]
Query
db.collection.aggregate([{$addFields:{text:{$switch:{branches:[{case:{$eq:["$title",{$regex:"test new projec",$options:"i"}]},then:"$title"},{case:{$or:[{"user.firstName":{$regex:"test new projec",$options:"i"}},{"user.lastName":{$regex:"test new projec",$options:"i"}},],},then:{$concat:["$user.firstName"," ","$user.lastName"]},},],},},},}])