Artículos
MongoDB

Consultas MongoDB Like

02/Feb/2014

Cuando accedemos a los datos de los campos de un documento en MongoDB podemos encontrarnos la necesidad de realizar consultas MongoDB like. Es decir, realizar consultas por cadenas similares de texto. Por ejemplo, nombres que empiecen por una letra o letras, palabras que contengan una cierta cadena de caracteres,…

Las consultas MongoDB like se resuelven mediante expresiones regulares. Lo que realizaremos mediante la siguinte sintaxis:

db.coleccion.find({campo:expresión_regular});

Para los patrones de las expresiones regulares MongoDB utiliza “Perl Compatible Regular Expressions” (PCRE). De esta forma tendremos las siguientes similitudes con los patrones LIKE.

cadena% /^cadena/
%cadena% /cadena/
%cadena /cadena$/

De esta forma la sentencia para realizar consultas MongoDB like será la siguiente:

cursor = db.ciudades.find({ciudad:/^M/});

En este caso hemos realizado un filtro LIKE de ciudades que empiecen por M.

A la hora de utilizar las expresiones regulares, los índices solo se utilizarán de forma eficiente cuando utilizemos la forma /^cadena/

Otros podrían ser ciudades que contengan una «r»:

cursor = db.ciudades.find({ciudad:/r/});

O ciudades que acaben en d:

cursor = db.ciudades.find({ciudad:/d$/});

Ya solo nos quedará recorrer con un cursor el resultado para volcar los documentos devueltos por la expresión regular:

while (cursor.hasNext()) {
  printjson(cursor.next());
}

De esta forma vemos que es sencillo realizar consultas MongoDB Like.

Código Fuente

Descárgate el código fuente de Consultas MongoDB Like
Y si te ha gustado nuestro código fuente puedes regalarnos una estrella Star

Vídeos sobre MongoDB

Disfruta también de nuestros artículos sobre MongoDB en formato vídeo. Aprovecha y suscribete a nuestro canal.

Test MongoDB

¿Te atreves a probar tus habilidades y conocimiento en MongoDB con nuestro test?

Test MongoDB
Suscribir
Notificar de
guest
1 Comentario
Recientes
Anteriores Más votados
Opiniones integradas
Ver todos los comentarios