Wie erstelle ich eine "Like" Abfrage auf eine Mongodb Datenbank?

...komplette Frage anzeigen

2 Antworten

Du kannst im Suchargument den String mit %-Zeichen eingrenzen, vorne, hinten und auch in der Mitte.

SELECT * FROM tabelle WHERE feld LIKE 'Hier%'

findet z.B. Hieronimus, Hierarchie usw.

...LIKE '%berg%'

findet z.B. Kupferbergwerk, Michelsberg usw.

...LIKE 'Kupfer%werk'

findet Kupferbergwerk usw.

Klein und Großschreibung muss in dieser Form berücksichtigt werden. Manche Datenbanken bieten Funktionen dafür an, die man hier kombinieren kann.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von karlschnitmann
05.03.2017, 14:24

Danke für die Antwort.

Ist aber nicht ganz was ich suche, habe vermutlich meine
Frage etwas unklar formuliert.

Mit dem LIKE funktioniert es bei einer SQL basierten
Datenbank.

Ich suche aber genau das für eine Mongodb.

0
var suche = req.params.suche;

//SQLs '%' wildcard operator in LIKE query is equivalent to Regexps '.*'
//also escape token with backslash
var regex = '\\\\.*' + suche + '\\\\.*';

db.personen.find( { 'name': new RegExp(regex, 'i') } )
Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?