bases de datos

LIKE en MongoDB: consulta equivalente de SQL

Introducción

En SQL, nosotros podemos utilizar el operador LIKE para buscar coincidencias en donde la celda tenga una porción de una cadena. En este post voy a explicar cómo hacer un like en MongoDB, es decir, el equivalente a la cláusula LIKE de SQL pero aplicada a MongoDB.

Por ejemplo, suponiendo que hay una tabla de clientes así:

Y queremos consultar a aquellos cuyo nombre contenga la cadena “ra” haríamos una consulta así:

SELECT * FROM clientes WHERE nombre LIKE "%ra%";

Lo que devolvería algo como:

Ahora veamos cómo hacer eso con MongoDB.

Operador LIKE en MongoDB

Respuesta corta

La consulta quedaría así:

db.tu_coleccion.find({"campo": /.*busqueda.*/});

Y si quieres que ignore si son mayúsculas o minúsculas, así:

db.tu_coleccion.find({"campo": /.*busqueda.*/i});

Ejemplo

Muy fácil, suponiendo que tenemos una colección (de clientes) así:

Colección de clientes en MongoDB

Podemos buscar, de nuevo, aquellos que tenga “ra” con la siguiente consulta:

db.clientes.find({
    "Nombre": /.*ra.*/  }
);

Con estos resultados:

Resultados de consulta LIKE en MongoDB

Si queremos que sea insensitivo a mayúsculas (que devuelva aquellos en donde diga ra, Ra, rA o RA) entonces modificaríamos la consulta así:

db.clientes.find({
    "Nombre": /.*ra.*/i
  }
);

Básicamente es una expresión regular de JavaScript 😉

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Ver comentarios

  • Que pasaría en la consulta del tipo SELECT * FROM clientes WHERE nombre LIKE "%ra% OR WHERE apellido LIKE "%ra%"; Te agradezco. Saludos.

Entradas recientes

Creador de credenciales web – Aplicación gratuita

Hoy te voy a presentar un creador de credenciales que acabo de programar y que…

1 semana hace

Desplegar PWA creada con Vue 3, Vite y SQLite3 en Apache

Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…

2 semanas hace

Arquitectura para wasm con Go, Vue 3, Pinia y Vite

En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…

2 semanas hace

Vue 3 y Vite: crear PWA (Progressive Web App)

En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…

2 semanas hace

Errores de Comlink y algunas soluciones

Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…

2 semanas hace

Esperar promesa para inicializar Store de Pinia con Vue 3

En este artículo te voy a enseñar cómo usar un "top level await" esperando a…

2 semanas hace

Esta web usa cookies.