Replikation der LIKE-Funktionalität von SQL in MongoDB
SQLs LIKE
-Operator vereinfacht musterbasierte Suchen. So ist es beispielsweise ganz einfach, alle Benutzer zu finden, deren Namen „m“ enthalten:
<code class="language-sql">SELECT * FROM users WHERE name LIKE '%m%';</code>
MongoDB verfügt über kein direktes LIKE
-Äquivalent und nutzt reguläre Ausdrücke für ähnliche Funktionen. Das MongoDB-Gegenstück zur obigen SQL-Abfrage ist:
<code class="language-javascript">db.users.find({ name: /.*m.*/ });</code>
Dabei wird ein regulärer Ausdruck /.*m.*/
verwendet, um jedes Dokument zu finden, bei dem das Feld name
irgendwo in der Zeichenfolge „m“ enthält. Das .
entspricht einem beliebigen Zeichen, *
entspricht keinem oder mehr Vorkommen und m
ist das Literalzeichen, nach dem gesucht werden soll.
Eine einfachere, aber weniger präzise Alternative ist:
<code class="language-javascript">db.users.find({ name: /m/ });</code>
Dadurch wird jedes name
-Feld gefunden, das mindestens ein „m“ enthält.
Die regulären Ausdrucksfunktionen von MongoDB übertreffen die Flexibilität des LIKE
-Operators von SQL und ermöglichen einen komplexeren Mustervergleich. Ausführliche Informationen zu regulären MongoDB-Ausdrücken finden Sie in der offiziellen MongoDB-Dokumentation und den MDN-Webdokumenten zu regulären Ausdrücken. (Bitte ersetzen Sie https://www.php.cn/link/f84f4800d13741a98ddf9bc46e58355c
und https://www.php.cn/link/a93dddc1fd67c3a6409fafb5801d7d50
durch die tatsächlichen Links.)
Das obige ist der detaillierte Inhalt vonWie simuliere ich den LIKE-Operator von SQL in MongoDB?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!