Not
Å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 $reverseArray används för att ändra ordningen på element i en matris. Den här operatorn kan vara användbar när du behöver bearbeta eller visa matriselement i motsatt ordning. Det är en matrisuttrycksoperator och kan användas i aggregeringspipelines.
Syntax
{
$reverseArray: <array>
}
Parameterar
| Parameter | Description |
|---|---|
<array> |
Matrisen som du vill omvända. |
Examples
Överväg det här exempeldokumentet från butiksamlingen.
{
"_id": "7954bd5c-9ac2-4c10-bb7a-2b79bd0963c5",
"name": "Lakeshore Retail | DJ Equipment Stop - Port Cecile",
"location": {
"lat": 60.1441,
"lon": -141.5012
},
"staff": {
"totalStaff": {
"fullTime": 2,
"partTime": 0
}
},
"sales": {
"salesByCategory": [
{
"categoryName": "DJ Headphones",
"totalSales": 35921
}
],
"fullSales": 3700
},
"promotionEvents": [
{
"eventName": "Bargain Blitz Days",
"promotionalDates": {
"startDate": {
"Year": 2024,
"Month": 3,
"Day": 11
},
"endDate": {
"Year": 2024,
"Month": 2,
"Day": 18
}
},
"discounts": [
{
"categoryName": "DJ Turntables",
"discountPercentage": 18
},
{
"categoryName": "DJ Mixers",
"discountPercentage": 15
}
]
},
{
"eventName": "Discount Delight Days",
"promotionalDates": {
"startDate": {
"Year": 2024,
"Month": 5,
"Day": 11
},
"endDate": {
"Year": 2024,
"Month": 5,
"Day": 18
}
}
}
],
"tag": [
"#ShopLocal",
"#FashionStore",
"#SeasonalSale",
"#FreeShipping",
"#MembershipDeals"
]
}
Exempel 1: Ändra ordning på en matris
Den här frågan visar användningen av operatorn för att utföra återföring i matrisordningen promotionEvents .
db.stores.aggregate([
//filtering to one document
{
$match: {
_id: "7954bd5c-9ac2-4c10-bb7a-2b79bd0963c5"
}
},
{
$project: {
_id: 1,
name: 1,
promotionEventsReversed: {
$reverseArray: "$promotionEvents"
}
}
},
// Include only _id, name, promotionalDates and eventName fields in the output
{
$project: {
_id: 1,
name: 1,
"promotionEventsReversed.promotionalDates": 1,
"promotionEventsReversed.eventName": 1
}
}
])
Den här frågan returnerar följande resultat.
[
{
"_id": "7954bd5c-9ac2-4c10-bb7a-2b79bd0963c5",
"name": "Lakeshore Retail | DJ Equipment Stop - Port Cecile",
"promotionEventsReversed": [
{
"eventName": "Discount Delight Days",
"promotionalDates": {
"startDate": {
"Year": 2024,
"Month": 5,
"Day": 11
},
"endDate": {
"Year": 2024,
"Month": 5,
"Day": 18
}
}
},
{
"eventName": "Bargain Blitz Days",
"promotionalDates": {
"startDate": {
"Year": 2024,
"Month": 3,
"Day": 11
},
"endDate": {
"Year": 2024,
"Month": 2,
"Day": 18
}
}
}
]
}
]
Relaterat innehåll
- Granska alternativen för att migrera från MongoDB till Azure DocumentDB.
- Läs mer om funktionskompatibilitet med MongoDB.