MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Mongo $regex con parentesi e limite di parole

È perché \b corrisponde solo se è presente un carattere parola su entrambi i lati. Nel tuo caso, il \b è racchiuso da un carattere spazio e da una parentesi aperta/chiusa, nessuno dei quali è un carattere "parola". Pertanto il \b corrispondenza non riuscita.

Potresti fare

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

che corrisponderà a \b perché ora è su un confine di parole.

In alternativa, puoi confrontare uno spazio OPPURE inizio/fine riga:

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