Comparar campos en MongoDB
A veces, necesitamos encontrar un documento comparando dos campos. Por ejemplo, es posible que debamos considerar los números de serie e ID al seleccionar un documento en una colección de MongoDB; Veremos esto más adelante en este tutorial.
En este artículo, veremos cómo podemos comparar dos campos en MongoDB. Además, veremos un ejemplo relevante con una explicación para facilitar el tema.
Comparar campos en MongoDB
Hay dos técnicas que podemos utilizar para este fin. Usaremos el método incorporado find()
para ambas técnicas, que se usa para buscar o extraer documentos de una colección MongoDB.
En nuestra primera técnica, utilizaremos la palabra clave $where
que coincide principalmente con criterios específicos. Y en nuestra segunda técnica, usaremos la agregación simple con la palabra clave $expr
, que le permite implementar expresiones de agregación como argumento.
Veamos un ejemplo para que quede más claro.
Ejemplos de comparación de dos campos en MongoDB
En nuestro ejemplo a continuación, veremos cómo podemos comparar dos campos en MongoDB. Compararemos los campos sl
e id
.
Ahora, los comandos para este propósito son:
Usando la palabra clave $where
:
db.mycolletion.find( { $where : "this.sl < this.id" } );
Usando la palabra clave $expr
:
db.mycolletion.find({$expr:{$lt:["$sl", "$id"]}})
En el comando anterior, $lt
es un operador de comparación. Hay algún otro operador de comparación que puede usar cuando sea necesario.
Operadores de comparación disponibles en MongoDB
A continuación, compartimos los operadores de comparación disponibles que se utilizan con la agregación en MongoDB.
$eq
- Esto representa el operador Igual.$ne
- Esto representa el operador No Igual.$gt
- Representa el operador Mayor que.$gte
- Representa el operador Mayor que o Igual.$lt
- Representa el operador Menor que.$lte
- Esto representa el operador Menor que o Igual.$in
- Esto coincide con cualquier valor en una matriz.$nin
- Esto no coincide con ninguno de los valores de una matriz.
Ahora, los dos comandos compartidos anteriormente le proporcionarán el mismo resultado que el siguiente:
{ _id: ObjectId("6371fd850f19826ee6ca5138"),
sl: 0,
Name: 'Alen',
id: '3'
}
Nota: comprueba si estás en la colección correcta. Para activar una colección específica, use el comando
use YourDB
; de lo contrario, le dará un error.
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.
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