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
   }
]