Database

[{_id:ObjectId("6616851ed50d6d1451fa8176"),phone:"+7(926)458-54-52",name:"Aboba"},{phone:"+7===+++|||9....2++++6458-54-52",name:"Aboba THREE"},{phone:"+7ssss9xxxx2yyyy6dddd-458-54-52",name:"Aboba two"},{phone:"+7===+++|||9....2++++6458-54-52",name:"Aboba THREE"}]

Query

db.collection.aggregate([{/** split the search phone number into chars*/$set:{arrayOfPhonemeChar:{$map:{input:{/** phone search term*/$range:[0,{$strLenCP:"7926"}]},in:{/** phone search term*/$substrCP:["7926","$$this",1]}}}}},{/** add \D* between each and remove trailing \D**/$set:{phone_search_regex:{$substrCP:[{$reduce:{input:"$arrayOfPhonemeChar",initialValue:"",in:{$concat:["$$value","\\D*","$$this"]}}},3,1000]}}},{$match:{phone:{/** this field-name for regex does not work* $regex: "$phone_search_regex",*/$regex:"7\\D*9\\D*2\\D*6",$options:"i"}}}])

Result