Azure cosmos db别名列的排序方式

时间:2019-08-21 16:25:12

标签: azure azure-cosmosdb

我在cosmos db中编写了一个选择查询,该查询工作正常。但是在该查询中,当我尝试按别名列上的列添加顺序时,它不起作用。这里distance是别名列。正确的方法是什么?

SELECT c.id,c.type,c.name,c.latitude,c.longitude,c.location, ST_Distance(c.location, { 'type': 'Point', 'coordinates':[-112.215641, 33.181647]}) as distance FROM c WHERE ST_Distance(c.location, { 'type': 'Point', 'coordinates':[-112.215641, 33.181647]}) < 321868.8 ORDER BY c.distance ASC

1 个答案:

答案 0 :(得分:2)

实际上,我们被告知我们只能对文档的属性进行排序,而不能对派生的值进行排序。请参阅此link。您的distance列是派生值,不能用于order by

  

“不受支持的ORDER BY子句。 ORDER BY项目表达式不能为   映射到文档路径”

我建议您自己对查询结果进行排序。例如,在.net代码中,您可以使用Sort函数按列对结果进行排序。