Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Operatorn $subtract
används för att subtrahera två tal och returnera resultatet. Den här operatorn är användbar i olika scenarier som att beräkna skillnader mellan datum, tider eller numeriska värden i ett dokument.
Syntax
{ $subtract: [ <expression1>, <expression2> ] }
Parametrar
Parameter | Description |
---|---|
<expression1> |
Minuend (talet som ett annat tal ska subtraheras från). |
<expression2> |
Subtrahend (talet som ska subtraheras). |
Exempel
Exempel 1: Subtrahera total försäljning från full försäljning
I följande exempel visas hur du subtraherar fullSales
värdet från totalSales
värdet i matrisen salesByCategory
.
db.collection.aggregate([
{
$project: {
category: "$sales.salesByCategory.categoryName",
salesDifference: { $subtract: ["$sales.salesByCategory.totalSales", "$sales.fullSales"] }
}
}
])
Dessa utdata visar skillnaden mellan totalförsäljning och fullförsäljning för varje kategori:
[
{ "_id": 1, "category": "Electronics", "salesDifference": 500 },
{ "_id": 2, "category": "Clothing", "salesDifference": -200 },
{ "_id": 3, "category": "Home Appliances", "salesDifference": 1000 }
]
Exempel 2: Beräkna varaktigheten för en kampanjhändelse
I följande exempel beräknas varaktigheten för en kampanjhändelse i dagar genom att subtrahera startDate
från endDate
.
db.collection.aggregate([
{
$project: {
eventName: "$promotionEvents.eventName",
eventDuration: {
$subtract: [
{ $dateFromParts: { year: "$promotionEvents.promotionalDates.endDate.Year", month: "$promotionEvents.promotionalDates.endDate.Month", day: "$promotionEvents.promotionalDates.endDate.Day" } },
{ $dateFromParts: { year: "$promotionEvents.promotionalDates.startDate.Year", month: "$promotionEvents.promotionalDates.startDate.Month", day: "$promotionEvents.promotionalDates.startDate.Day" } }
]
}
}
}
])
Det här utdata beräknar antalet dagar mellan start- och slutdatumet för varje kampanjhändelse:
[
{
"_id": 4,
"eventName": "Black Friday",
"eventDuration": 5
},
{
"_id": 5,
"eventName": "Holiday Sale",
"eventDuration": 10
}
]
Relaterat innehåll
- Granska alternativ för migrering från MongoDB till Azure Cosmos DB för MongoDB (virtuell kärna)
- Läs mer om funktionskompatibilitet med MongoDB