Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Der $cmp Operator vergleicht zwei angegebene Werte. Der $cmp-Operator gibt -1 zurück, wenn der erste Wert kleiner als der zweite ist, 0, wenn die beiden Werte gleich sind und 1, wenn der erste Wert größer als der zweite ist.
Syntax
{
$cmp: [<firstValueToCompare>, <secondValueToCompare>]
}
Die Parameter
| Parameter | Description |
|---|---|
<firstValueToCompare> |
Der erste Wert, der vom operator $cmp mit dem zweiten verglichen wird. |
<secondValueToCompare> |
Der zweite Wert, der vom $cmp-Operator verglichen wird |
Examples
Betrachten Sie dieses Beispieldokument aus der Stores-Sammlung.
{
"_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
}
]
}
]
}
Beispiel 1 – Vergleichen des Gesamtumsatzes von Geschäften mit 25.000 $
Um den Gesamtumsatz der Geschäfte innerhalb des Finder Innovations Company mit $25.000 zu vergleichen, führen Sie zunächst eine Abfrage aus, um nach dem Firmennamen der Geschäfte zu filtern. Verwenden Sie dann $cmp, um das Feld "sales.totalSales" mit 25000 zu vergleichen. Schließlich projizieren Sie nur den Namen und den Gesamtumsatz für die resultierenden Stores.
db.stores.aggregate([{
$match: {
company: {
$in: ["Boulder Innovations"]
}
}
}, {
$project: {
name: 1,
"sales.salesByCategory.totalSales": 1,
greaterThan25000: {
$cmp: ["$sales.revenue", 25000]
}
}
}])
Die ersten beiden Ergebnisse, die von dieser Abfrage zurückgegeben werden, sind:
[
{
"_id": "a5040801-d127-4950-a320-e55f6aed4b36",
"name": "Boulder Innovations | DJ Equipment Pantry - West Christopher",
"sales": {
"salesByCategory": [
{
"totalSales": 21522
}
]
},
"greaterThan25000": -1
},
{
"_id": "bb6e097a-e204-4b64-9f13-5ae8426fcc76",
"name": "Boulder Innovations | Kitchen Appliance Outlet - Lake Chazville",
"sales": {
"salesByCategory": [
{
"totalSales": 24062
},
{
"totalSales": 24815
}
]
},
"greaterThan25000": 1
}
]