sql >> Databasteknik >  >> NoSQL >> MongoDB

Mongo $regex med parentes och ordgräns

Det beror på att \b matchar bara om det finns ett ordtecken på vardera sidan av det. I ditt fall, \b är omgiven av ett mellanslagstecken och en öppen/stäng parentes, varav ingen är ett "ord"-tecken. Därför \b matchningen misslyckas.

Det kan du göra

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

som kommer att matcha \b för nu är det på en ordgräns.

Alternativt kan du matcha mot ett mellanslag ELLER start/end-of-line:

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



  1. MongoDB C# för BsonElement

  2. Lägg till enkel lässkrivanvändare i mongo 3.4.1

  3. Spelar ordning någon roll i bson_iter_find i mongo c-drivrutinen

  4. Lagra objektegenskaper i redis