Conociendo la importancia del operador $ regex, esta guía se compila para explicar brevemente el uso del operador $ regex en MongoDB.
Cómo funciona el operador $ regex
La sintaxis del operador $ regex se da a continuación:
campo: $ regex: /patrón /, $ opciones: ""O:
Field: $ regex: /patrón /Ambas sintaxis funcionan para el operador $ Regex; Sin embargo, se recomienda utilizar la primera sintaxis para obtener acceso completo a las opciones de $ regex. Como se nota que pocas opciones no funcionan con la segunda sintaxis.
patrón: Esta entidad se refiere a la parte del valor que desea buscar un campo
Opciones: Las opciones en el $ regex El operador extiende el uso de este operador y se puede obtener una salida más refinada en este caso.
Requisitos previos
Antes de practicar los ejemplos, se requiere tener las siguientes instancias relacionadas con MongoDB para estar presentes en su sistema:
Base de datos MongoDB: En esta guía, un "LinuxhintSe utilizará la base de datos con nombre
Colección de esa base de datos: La colección asociada con el "Linuxhint"Se nombra la base de datos"empleados"En este tutorial
Cómo usar el operador $ regex en MongoDB
En nuestro caso, el siguiente contenido reside en el "empleados" colección de "Linuxhint"Base de datos:
> DB.empleados.encontrar().bonito()Esta sección contiene ejemplos que explican el uso de $ regex de nivel básico a avanzado en MongoDB.
Ejemplo 1: Uso de $ Regex Operator para que coincida con un patrón
El comando que se indica a continuación verificará el "Lin"Patrón en el"distribuir" campo. Cualquier valor de campo que contenga el "Lin"La palabra clave en su valor obtiene la coincidencia. Finalmente, se mostrarán los documentos que contengan ese campo:
> DB.empleados.find (Distro: $ regex: /lin /).bonito()Usando $ regex con la opción "I"
En general, el $ regex El operador es sensible a la caja; el "i"El soporte de la opción de $ Regex Operator lo hace insensible. Si aplicamos "iOpción "en el comando anterior; La salida será la misma:
> DB.empleados.find (Distro: $ regex: /lin /, $ opciones: "i").bonito()Ejemplo 2: Use $ regex con signo de caret (^) y dólar ($)
Como el uso básico de $ regex coincide con todos los campos que tienen el patrón en él. También puede usar $ regex para que coincida con el inicio de cualquier cadena mediante el prefijo "CARET (^)"Símbolo y si el"ps"El símbolo está postfijo con caracteres, entonces el $ regex buscará la cadena que termina con esos caracteres: la consulta a continuación muestra el uso de"^"Con $ regex:
Cualquier valor del "distribuir"Campo que comienza con los personajes"LiSe recuperará y se muestra el documento relevante:
> DB.empleados.find (Distro: $ regex: /^lin /).bonito()El "psEl signo se usa después de los caracteres para que coincida con la cadena que termina con ese personaje; Por ejemplo, el comando mencionado a continuación obtendrá el valor de campo de "distribuir"Eso termina con"Ian"Y los documentos respectivos se imprimen:
> DB.empleados.find (Distro: $ regex: /ian $ /).bonito()Además, si usamos "^" y "ps"En un solo patrón; Entonces $ Regex coincidirá con la cadena que se compone de caracteres exactos: por ejemplo, el siguiente patrón de regex obtendrá solo "Linux" valor:
> DB.empleados.find (Distro: $ regex: /^linux $ /).bonito()Nota: El "i"La opción se puede usar en cualquier consulta de $ Regex: en esta guía"bonito()La función se utiliza para obtener la salida limpia de las consultas Mongo.
Conclusión
MongoDB es un código abierto ampliamente utilizado y pertenece a la categoría de bases de datos NoSQL. Debido a su naturaleza basada en documentos, proporciona un fuerte mecanismo de recuperación respaldado por varios operadores y comandos. El operador $ regex en MongoDB ayuda a que coincida con la cadena solo especificando algunos caracteres. En esta guía, el uso del operador $ regex en MongoDB se describe en detalle. También se puede usar para obtener la cadena que comienza o termina con un patrón específico. Los usuarios de Mongo pueden usar $ Regex Operator para encontrar un documento utilizando algunos caracteres que coincidan con cualquiera de sus campos.