Consulta con longitud de cadena en MongoDB

MD Aminul Islam 20 junio 2023
Consulta con longitud de cadena en MongoDB

A veces, necesitamos encontrar un documento específico usando propiedades excepcionales como la longitud de la cadena. En este artículo, vamos a ver cómo podemos encontrar documentos específicos utilizando la longitud de la cadena en MongoDB y también veremos un ejemplo sobre el tema para que sea más fácil de entender.

Encuentre un documento específico en una colección según la longitud de la cadena

Para encontrar un documento específico de una colección, usamos un método integrado muy común de MongoDB llamado find(). Pero debemos proporcionar algunos criterios excepcionales cuando estamos dispuestos a encontrar un documento basado en la longitud de la cadena.

En nuestro próximo ejemplo, veremos dos formas de encontrar un documento específico basado en la longitud de la cadena.

En nuestro ejemplo a continuación, veremos cómo podemos encontrar un documento basado en la longitud de la cadena.

Pero primero, revisemos los documentos disponibles en nuestra colección. Para este propósito, vamos a utilizar el siguiente comando:

db.mydata.find()

El comando anterior le mostrará todos los documentos en la colección mydata.

{ _id: ObjectId("63713371117701ff3d627b56"),
  Name: 'Alen',
  Email: 'abc@gmail.com',
  Year: 2018 }
{ _id: ObjectId("63713371117701ff3d627b57"),
  Name: 'Max',
  Email: 'max@gmail.com',
  Year: 2017 }
{ _id: ObjectId("63713371117701ff3d627b58"),
  Name: 'Ethen',
  Email: 'ethen@gmail.com',
  Year: 2019 }
{ _id: ObjectId("63713371117701ff3d627b59"),
  Name: 'Alex',
  Email: 'alex@gmail.com',
  Year: 2020 }

Arriba están los documentos disponibles en nuestra colección. Vayamos a nuestro siguiente paso.

Ahora veamos los métodos que podemos usar para encontrar el documento según la longitud de la cadena. Para ello, tomaremos la longitud del campo Nombre.

Utilice la palabra clave $where

Podemos usar la palabra clave $where para este propósito. El comando será el siguiente:

db.mydata.find({ $where: 'this.Name.length > 4' })

Usa la agregación

Si desea utilizar la agregación, puede seguir el siguiente comando:

db.mydata.find({
Name: { $exists: true },
$expr: { $gt: [{ $strLenCP: '$Name' }, 4] } })

En el comando anterior, la palabra clave $gt significa Mayor que. Ahora, después de ejecutar ambos comandos en la consola de MongoDB, obtendrá el mismo resultado de la siguiente manera:

{ _id: ObjectId("63713371117701ff3d627b58"),
  Name: 'Ethen',
  Email: 'ethen@gmail.com',
  Year: 2019 }

Tenga en cuenta que los comandos que se muestran en este artículo son para la base de datos de MongoDB y el comando debe ejecutarse en la consola de MongoDB.

MD Aminul Islam avatar MD Aminul Islam avatar

Aminul Is an Expert Technical Writer and Full-Stack Developer. He has hands-on working experience on numerous Developer Platforms and SAAS startups. He is highly skilled in numerous Programming languages and Frameworks. He can write professional technical articles like Reviews, Programming, Documentation, SOP, User manual, Whitepaper, etc.

LinkedIn

Artículo relacionado - MongoDB Query