sql >> Base de Datos >  >> NoSQL >> MongoDB

Mongo $regex con paréntesis y límite de palabra

Es porque \b solo coincide si hay un carácter de palabra a cada lado. En tu caso, el \b está rodeado por un carácter de espacio y un paréntesis de apertura/cierre, ninguno de los cuales es un carácter de "palabra". Por lo tanto, el \b la coincidencia falla.

podrías hacer

\\b0aef4666-3627-4c24-8e50-b0cf9a723823\\b

que coincidirá con el \b porque ahora está en un límite de palabras.

Alternativamente, puede hacer coincidir un espacio O un inicio/fin de línea:

db.test.find({"text": /(^|\s)\(0aef4666-3627-4c24-8e50-b0cf9a723823\)($|\s)/i} )