Compartir a través de


$gte (consulta de comparación)

SE APLICA A: núcleo virtual de MongoDB

El $gte operador se usa para filtrar documentos donde el valor de un campo es mayor o igual que un valor especificado. El $gte operador se usa para recuperar documentos que cumplen un umbral mínimo para el valor de un campo o para buscar registros dentro de un intervalo de valores para el campo.

Sintaxis

La sintaxis para usar el $gte operador es:

{ "field": { "$gte": value } }

Parámetros

Parámetro Descripción
field Campo del documento que desea comparar
value Valor que el campo debe superar

Ejemplos

Ten en cuenta este documento de ejemplo de la colección "Stores" en la base de datos StoreData.

{
    "_id": "0fcc0bf0-ed18-4ab8-b558-9848e18058f4",
    "name": "First Up Consultants | Beverage Shop - Satterfieldmouth",
    "location": {
        "lat": -89.2384,
        "lon": -46.4012
    },
    "staff": {
        "totalStaff": {
            "fullTime": 8,
            "partTime": 20
        }
    },
    "sales": {
        "totalSales": 75670,
        "salesByCategory": [
            {
                "categoryName": "Wine Accessories",
                "totalSales": 34440
            },
            {
                "categoryName": "Bitters",
                "totalSales": 39496
            },
            {
                "categoryName": "Rum",
                "totalSales": 1734
            }
        ]
    },
    "promotionEvents": [
        {
            "eventName": "Unbeatable Bargain Bash",
            "promotionalDates": {
                "startDate": {
                    "Year": 2024,
                    "Month": 6,
                    "Day": 23
                },
                "endDate": {
                    "Year": 2024,
                    "Month": 7,
                    "Day": 2
                }
            },
            "discounts": [
                {
                    "categoryName": "Whiskey",
                    "discountPercentage": 7
                },
                {
                    "categoryName": "Bitters",
                    "discountPercentage": 15
                },
                {
                    "categoryName": "Brandy",
                    "discountPercentage": 8
                },
                {
                    "categoryName": "Sports Drinks",
                    "discountPercentage": 22
                },
                {
                    "categoryName": "Vodka",
                    "discountPercentage": 19
                }
            ]
        },
        {
            "eventName": "Steal of a Deal Days",
            "promotionalDates": {
                "startDate": {
                    "Year": 2024,
                    "Month": 9,
                    "Day": 21
                },
                "endDate": {
                    "Year": 2024,
                    "Month": 9,
                    "Day": 29
                }
            },
            "discounts": [
                {
                    "categoryName": "Organic Wine",
                    "discountPercentage": 19
                },
                {
                    "categoryName": "White Wine",
                    "discountPercentage": 20
                },
                {
                    "categoryName": "Sparkling Wine",
                    "discountPercentage": 19
                },
                {
                    "categoryName": "Whiskey",
                    "discountPercentage": 17
                },
                {
                    "categoryName": "Vodka",
                    "discountPercentage": 23
                }
            ]
        }
    ]
}

Ejemplo 1: Recuperar todas las tiendas en las que el total de ventas es mayor o igual que 35 000 USD

db.stores.find({ "sales.totalSales": { "$gte": 35000 } },{"name": 1, "sales.totalSales": 1}, {"limit": 1})

Esto devuelve los siguientes resultados:

{
    "_id": "2cf3f885-9962-4b67-a172-aa9039e9ae2f",
    "name": "First Up Consultants | Bed and Bath Center - South Amir",
    "sales": { "totalSales": 37701 }
}

Ejemplo 2: Buscar tiendas con 12 o más personal a tiempo completo

db.stores.find({ "staff.totalStaff.fullTime": { "$gte": 12 } },{"name": 1, "staff.totalStaff.fullTime": 1}, {"limit": 1})

Esto devuelve los siguientes resultados:

{
    "_id": "2cf3f885-9962-4b67-a172-aa9039e9ae2f",
    "name": "First Up Consultants | Bed and Bath Center - South Amir",
    "staff": { "totalStaff": { "fullTime": 18 } }
}

Ejemplo 3: Buscar eventos de promoción con un porcentaje de descuento mayor o igual al 15 % para espejos

db.stores.find({ "promotionEvents.discounts": { "$elemMatch": { "categoryName": "Laptops", "discountPercentage": { "$gte": 15 } } } }, {"name": 1}, {"limit": 2})

Esto devuelve los siguientes resultados:

[
  {
    "_id": "60e43617-8d99-4817-b1d6-614b4a55c71e",
    "name": "Wide World Importers | Electronics Emporium - North Ayanashire"
  },
  {
    "_id": "3c441d5a-c9ad-47f4-9abc-ac269ded44ff",
    "name": "Contoso, Ltd. | Electronics Corner - New Kiera"
  }
]