以下是我们要存储的示例文档:
{
"name": "Joe Bloggs",
"locations": [
{ "type": "Point", "coordinates": [1,1] },
{ "type": "Point", "coordinates": [2,2] }
]
}
该文档的主要特征是“locations”属性是一个GeoJSON点数组。
根据documentation,可以为locations数组定义索引策略。
但是,不清楚是否可以使用ST_WITHIN
等空间查询来搜索,例如,数组中的任何点是否落在指定点的某个半径范围内。
我的问题:当存储在数组中时,CosmosDB是否支持索引和查询空间数据?
答案 0 :(得分:1)
与CosmosDB的私人对话:
可以编入索引吗?
是的,你只需索引/ locations / [] /?或/ locations / *
可以查询吗?
是的,您可以使用JOIN来查询数组中的数组。
SELECT * FROM c JOIN loc IN c.locations WHERE ST_DISTANCE(loc, @myLocation) < @distance