DocumentDB - Сортировка записей
Microsoft Azure DocumentDB поддерживает запросы к документам с использованием SQL поверх документов JSON. Вы можете сортировать документы в коллекции по числам и строкам, используя предложение ORDER BY в вашем запросе. Предложение может включать необязательный аргумент ASC / DESC, чтобы указать порядок, в котором должны быть получены результаты.
Давайте посмотрим на следующий пример, в котором у нас есть документ JSON.
{
"id": "Food Menu",
"description": "Grapes, red or green (European type, such as Thompson seedless), raw",
"tags": [
{
"name": "grapes"
},
{
"name": "red or green (european type"
},
{
"name": "such as thompson seedless)"
},
{
"name": "raw"
}
],
"foodGroup": "Fruits and Fruit Juices",
"servings": [
{
"amount": 1,
"description": "cup",
"weightInGrams": 151
},
{
"amount": 10,
"description": "grapes",
"weightInGrams": 49
},
{
"amount": 1,
"description": "NLEA serving",
"weightInGrams": 126
}
]
}
Ниже приведен SQL-запрос для сортировки результатов в порядке убывания.
SELECT f.description, f.foodGroup,
f.servings[2].description AS servingDescription,
f.servings[2].weightInGrams AS servingWeight
FROM f
ORDER BY f.servings[2].weightInGrams DESC
Когда вышеуказанный запрос будет выполнен, вы получите следующий результат.
[
{
"description": "Grapes, red or green (European type, such as Thompson
seedless), raw",
"foodGroup": "Fruits and Fruit Juices",
"servingDescription": "NLEA serving",
"servingWeight": 126
}
]