Itu karena \b
hanya cocok jika ada karakter kata di kedua sisinya. Dalam kasus Anda, \b
dikelilingi oleh karakter spasi dan tanda kurung buka/tutup, keduanya bukan karakter "kata". Oleh karena itu \b
pertandingan gagal.
Anda bisa melakukannya
\\b0aef4666-3627-4c24-8e50-b0cf9a723823\\b
yang akan cocok dengan \b
karena sekarang berada di batas kata.
Atau, Anda dapat mencocokkan dengan spasi ATAU awal/akhir baris:
db.test.find({"text": /(^|\s)\(0aef4666-3627-4c24-8e50-b0cf9a723823\)($|\s)/i} )