ऐसा इसलिए है क्योंकि \b
केवल तभी मेल खाता है जब उसके दोनों ओर कोई शब्द वर्ण हो। आपके मामले में, \b
एक अंतरिक्ष चरित्र और एक खुले/करीबी कोष्ठक से घिरा हुआ है, जिनमें से कोई भी "शब्द" वर्ण नहीं है। इसलिए \b
मैच विफल।
आप कर सकते थे
\\b0aef4666-3627-4c24-8e50-b0cf9a723823\\b
जो \b
. से मेल खाएगा क्योंकि अब यह एक शब्द सीमा पर है।
वैकल्पिक रूप से, आप किसी स्पेस या स्टार्ट/एंड-ऑफ़-लाइन से मेल खा सकते हैं:
db.test.find({"text": /(^|\s)\(0aef4666-3627-4c24-8e50-b0cf9a723823\)($|\s)/i} )