文档数据库 - ST_DISTANCE

Document DB - ST_DISTANCE

这样的查询
SELECT TOP 1 * ST_DISTANCE etc 

或更具体地说

SELECT TOP 1 * FROM c WHERE ST_DISTANCE(c.AssetLocation, { 'type': 'Point', 'coordinates': [115.58, 21.84] }) < 49999

return最近的物体,如果不是,怎么按距离排序?

谢谢,

伊恩

DocumentDB 本身还不支持最近或使用地理空间索引的 ORDER BY。

ORDER BY 的最佳方法是投影 (SELECT) 查询中的距离并在客户端或通过存储过程对其进行排序(减少多次往返的延迟成本)。

对于大型数据集,您可以通过在从小值开始的距离上添加过滤器 (WHERE) 并迭代/逐步增加距离值直到找到第一个点来优化最近点。