MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Mongo $regex mit Klammern und Wortgrenzen

Das liegt daran, dass \b stimmt nur überein, wenn auf beiden Seiten ein Wortzeichen steht. In Ihrem Fall der \b ist von einem Leerzeichen und einer öffnenden/schließenden Klammer umgeben, die beide keine "Wort"-Zeichen sind. Daher der \b Übereinstimmung schlägt fehl.

Könntest du machen

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

was mit \b übereinstimmt weil es sich jetzt an einer Wortgrenze befindet.

Alternativ könnten Sie mit einem Leerzeichen ODER Zeilenanfang/Zeilenende übereinstimmen:

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