Introducción
Los operadores de consulta en MongoDB incluyen operadores de comparación, lógicos, elementales, de evaluación, geográficos, de matriz, bit a bit y de comentario.
Operadores de comparación de MongoDB
$eq
El operador $eq especifica una condición de igualdad. Este operador busca documentos cuyo valor de un campo sea igual al especificado.
Sintaxis:
{ : { $eq: } }Ejemplo:
db.books.find({ price: { $eq: 300 } })En este ejemplo, la consulta analiza la colección Libros para seleccionar todos los documentos donde el valor del campo Precio sea 300.
$gt
El operador $gt selecciona documentos en los que el valor del campo es mayor que el valor especificado.
Sintaxis:
{ field: { $gt: value } }Ejemplo:
db.books.find({ price: { $gt: 200 } })$gte
El operador $gte selecciona documentos donde el valor del campo es mayor o igual al valor especificado.
Sintaxis:
{ field: { $gte: value } }Ejemplo:
db.books.find({ price: { $gte: 250 } })1TP4Estaño
El operador $in selecciona documentos donde el valor de un campo es igual a cualquiera de los valores de la matriz especificada.
Sintaxis:
{ field: { $in: [, , …] } }Ejemplo:
db.books.find({ price: { $in: [100, 200] } })$lt
El operador $lt selecciona documentos donde el valor del campo es menor que el valor especificado.
Sintaxis:
{ field: { $lt: value } }Ejemplo:
db.books.find({ price: { $lt: 20 } })$lte
El operador $lte selecciona documentos donde el valor del campo es menor o igual al valor especificado.
Sintaxis:
{ field: { $lte: value } }Ejemplo:
db.books.find({ price: { $lte: 250 } })$ne
El operador $ne selecciona documentos donde el valor del campo no es igual al valor especificado.
Sintaxis:
{ : { $ne: } }Ejemplo:
db.books.find({ price: { $ne: 500 } })$nin
El operador $nin selecciona documentos donde el valor del campo no está en la matriz especificada o no existe en absoluto.
Sintaxis:
{ field: { $nin: [, , …] } }Ejemplo:
db.books.find({ price: { $nin: [50, 150, 200] } })Operadores lógicos de MongoDB
$ y
El operador $and actúa como un operador AND lógico en una matriz. La matriz debe contener una o más expresiones y selecciona los documentos que satisfacen todas las expresiones de la matriz.
Sintaxis:
{ $and: [ { }, { }, ....] }Ejemplo:
db.books.find({ $and: [ { price: { $ne: 500 } }, { price: { $exists: true } } ] })$no
El operador $not actúa como un operador NOT lógico en la expresión especificada y selecciona documentos que no coinciden con la expresión correspondiente.
Sintaxis:
{ field: { $not: { } } }Ejemplo:
db.books.find({ price: { $not: { $gt: 200 } } })$nor
El operador $nor actúa como un operador NOR lógico en una matriz de uno o más términos de consulta, seleccionando documentos que no satisfacen ninguno de los términos de consulta en la matriz.
Sintaxis:
{ $nor: [ { }, { }, ..... ] }Ejemplo:
db.books.find({ $nor: [ { price: 200 }, { sale: true } ] })$or
<pعملگر $or به عنوان یک عملگر منطقی OR روی یک آرایه از دو یا چند عبارت عمل میکند و اسنادی را انتخاب میکند که حداقل یکی از عبارات را برآورده کنند.
Sintaxis:
{ $or: [ { }, { }, ... , { } ] }Ejemplo:
db.books.find({ $or: [ { quantity: { $lt: 200 } }, { price: 500 } ] })Operadores elementales de MongoDB
$existas
El operador $exists selecciona documentos que contienen el campo especificado cuando el valor booleano es verdadero. También selecciona documentos que contienen el campo cuando el valor es nulo.
Sintaxis:
{ field: { $exists: } }Ejemplo:
db.books.find({ qty: { $exists: true, $nin: [5, 15] } })Tipo $
El operador $type selecciona documentos cuyo valor de campo se especifica como tipo BSON.
Sintaxis:
{ field: { $type: } }Ejemplo:
db.books.find({ "bookid": { $type: 2 } })Operadores de evaluación de MongoDB
$expr
El operador $expr permite el uso de expresiones agregadas en el lenguaje de consulta.
Sintaxis:
{ $expr: { } }Ejemplo:
db.store.find({ $expr: { $gt: [ "$product", "price" ] } })Esquema $json
Este operador selecciona documentos que coinciden con el esquema JSON especificado.
Sintaxis:
{ $jsonSchema: }$mod
El operador $mod selecciona documentos cuyo valor de campo, cuando se divide por el divisor, tiene el resto especificado.
Sintaxis:
{ field: { $mod: [ divisor, remainder ] } }Ejemplo:
db.books.find({ qty: { $mod: [ 200, 0 ] } })$regex
Este operador proporciona funciones de expresiones regulares para la coincidencia de patrones de cadenas en consultas. MongoDB utiliza expresiones regulares compatibles con Perl.
Sintaxis:
{ : /pattern/ }Ejemplo:
db.books.find({ price: { $regex: /789$/ } })$text
El operador $text busca el contenido de un campo que está indexado con un índice de texto.
Sintaxis:
{ $text: { $search: , $language: , $caseSensitive: , $diacriticSensitive: } }Ejemplo:
db.books.find({ $text: { $search: "Othelo" } })$donde
El operador “where” se utiliza para pasar una cadena que contiene una expresión de JavaScript o una función de JavaScript completa al motor de consulta.
Ejemplo:
db.books.find({ $where: function() { return (hex_md5(this.name) == "9b53e667f30cd329dca1ec9e6a8") } })









