Cómo usar la declaración SQL LIKE en MongoDB

1 mar 2021 2 min di lettura
Cómo usar la declaración SQL LIKE en MongoDB
Indice dei contenuti

Introducción

MongoDB es un potente servidor de bases de datos Nosql. MongoDB usa documentos similares a JSON con esquemas opcionales para almacenar los datos.

Siempre es una tarea crítica para un desarrollador organizar los datos. Ya que juega el papel más importante en el rendimiento de la aplicación. En Mongodb, puede utilizar consultas similares a la instrucción SQL LIKE para recuperar los datos.

Para los ejemplos utilizados en este tutorial, usamos algunos datos ficticios como se muestra a continuación. También puede crear una base de datos y ejecutar los siguientes comandos para insertar datos ficticios.

db.colors.insert({ "id": 100, "color": "Pink"})
db.colors.insert({ "id": 101, "color": "Purple"})
db.colors.insert({ "id": 102, "color": "Black"})
db.colors.insert({ "id": 103, "color": "Blue"})

Utilice la declaración find ()

El comando Mongodb find() se utiliza para buscar documentos de una colección. Esta función proporciona opciones flexibles para buscar documentos.

La find() predeterminada recupera todos los documentos de una colección. También le permite consultar una colección de documentos, pasar algunos parámetros simples y devolver un cursor.

Veamos un ejemplo simple del método .find()

db.colors.find()

El mensaje de salida debería verse así:

{ "_id": ObjectId("5f697e4ccc528930cde49f53"), "id": 100, "color": "Pink" }
 { "_id": ObjectId("5f697e4fcc528930cde49f54"), "id": 101, "color": "Purple" }
 { "_id": ObjectId("5f697e52cc528930cde49f55"), "id": 102, "color": "Black" }
 { "_id": ObjectId("5f697e55cc528930cde49f56"), "id": 103, "color": "Blue" }

Lo anterior devuelve todos los documentos de una colección. Pero este es un uso muy raro en la producción. Generalmente se requiere una lista de resultados filtrados de una base de datos.

Por ejemplo, recupera todos los documentos que contienen color: rosa. Ejecute la siguiente consulta:

db.colors.find({color: "Pink"})

El mensaje de salida debería verse así:

{ "_id": ObjectId("5f7f1e162422ff180d76fb00"), "id": 100, "color": "Pink" }

Utilice di.find () como la instrucción SQL LIKE

Puede utilizar expresiones regulares para buscar documentos en Monogdb. Esto será similar a las declaraciones LIKE en las consultas SQL.

Cadena de búsqueda en todas partes: para buscar todos los documentos donde el nombre del color tiene "Rosa" en cualquier parte de la cadena. La segunda declaración busca todos los documentos donde el color tiene Bl en el nombre:

db.colors.find({color: /Pink/})
db.colors.find({color: /Bl/})

La cadena de búsqueda comienza: coincidirá con todas las cadenas que comiencen con caracteres P. El símbolo de superíndice ^ se usa para comenzar con:

db.colors.find({color: /^P/})

Buscar el final de la cadena: el signo de dólar $ se usa para hacer coincidir los extremos de la cadena con caracteres específicos. El siguiente ejemplo coincide con todas las cadenas que terminan con el carácter k:

db.colors.find({color: /k$/})

Cadena de búsqueda en cualquier posición: el método de búsqueda predeterminado distingue entre mayúsculas y minúsculas. Puede indicar al comando de búsqueda que haga coincidir los caracteres de todos modos con la i como se usa en el siguiente ejemplo:

db.colors.find({color: /k$/i})

Conclusión

En este tutorial, aprendió a buscar en la base de datos de manera similar a las declaraciones LIKE de SQL en Mongodb.

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.