Condividi tramite


$gte (query di confronto)

SI APPLICA A: MongoDB vCore

L'operatore $gte viene usato per filtrare i documenti in cui il valore di un campo è maggiore o uguale a un valore specificato. L'operatore $gte viene usato per recuperare i documenti che soddisfano una soglia minima per il valore di un campo o per trovare i record all'interno di un intervallo di valori per il campo.

Sintassi

La sintassi per l'uso dell'operatore $gte è:

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

Parametri

Parametro Descrizione
field Campo nel documento da confrontare
value Il valore rispetto al quale deve essere maggiore il campo

Esempi

Si consideri questo documento di esempio dalla raccolta di negozi nel database 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
                }
            ]
        }
    ]
}

Esempio 1: Recuperare tutti i negozi in cui le vendite totali sono maggiori o uguali a $ 35.000

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

Vengono restituiti i risultati seguenti:

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

Esempio 2: Trovare negozi con 12 o più personale a tempo pieno

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

Vengono restituiti i risultati seguenti:

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

Esempio 3: Trovare eventi promozionali con una percentuale di sconto maggiore o uguale al 15% per i mirror

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

Vengono restituiti i risultati seguenti:

[
  {
    "_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"
  }
]