2017-01-05 4 views
-1

zum beispiel, mein dokument hat ein feld, wert ist "männer in schwarz", ich benutze regex suche männer oder in oder schwarz, system kann aufzeichnen, ich benutze 'männer in schwarz 'Suche es kein Ergebnis zurück, aber ich benutze' men.in.black 'Suche es ist ok, warum? Wie benutzt man den Raum um es zu finden? Dankewarum ich nichts finden kann nutzungsraum in mongodb

Antwort

1

Wahrscheinlich ist Ihre Regex nicht korrekt. Verwenden Sie \b an Wortgrenzen festlegen und eine Liste aller Wörter, die Sie suchen nach:

db.test.find({field:{$regex:/\b(man|in|black)\b/}}) 
  • "main in black" - OK
  • "Frau im roten"
  • "Frau in pink" - OK
0

Der Platz wird in Regex als \s dargestellt.

Dot . repräsentiert ein beliebiges Symbol, und es werden auch Leerzeichen zugeordnet, aber das ist wahrscheinlich nicht das, was Sie wollen.

Ich nehme an, Sie sollten ein Tutorial über Regex erhalten, oder lesen Sie mindestens Wiki page.

Verwandte Themen