MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Mongo $regex със скоби и граница на думата

Това е защото \b съвпада само ако от двете му страни има знак за дума. Във вашия случай \b е заобиколен от знак за интервал и отваряща/затваряща скоба, нито една от които не е знак за "дума". Следователно \b мачът е неуспешен.

Можете да го направите

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

което ще съответства на \b защото сега е на границата на думата.

Като алтернатива можете да съпоставите с интервал ИЛИ начало/край на ред:

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



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Лоша производителност на агрегиране при търсене

  2. Mongo db масив, променящ низ към плаващ

  3. MongoDB:не може да използва курсор за итерация през всички данни

  4. Как да създадете поле за автоматично нарастване

  5. Намирате пропуски в огромни потоци от събития?