繁体   English   中英

ArangoDB地理空间阵列

[英]ArangoDB geospatial array

我是ArangoDB和NoSQL的新手,我正在研究ArangoDB的空间查询

我已经正确运行了两个简单的示例https://mikewilliamson.wordpress.com/2014/05/07/arangodbs-geo-spatial-functions/

在ArangoDB中定义地理索引

现在,当我尝试将其应用于当前文档时,我似乎无法使其正常工作

这是我的JSON文档的示例

{
  "branches": [
 {
  "currentGeoLocation": {
    "latitude": -10,
    "longitude": 1
   }
 }
 ],
 "name": "example"
}

我没有运气尝试过以下查询

LET coll = (FOR item IN positions
RETURN {
name:item.name,
lat:item.branches[0].currentGeoLocation.latitude,
lng:item.branches[0].currentGeoLocation.longitude
})

FOR geo IN WITHIN(coll, -10, 1, 1) RETURN geo
-----------

FOR item in positions
FOR branch in item.branches
for geo in within(branch,-10,2,1)
return geo

谁能帮助我如何正确获取geoLocations的集合,以便运行geo查询?

另外,我已经用mongosh定义了地理索引,没有任何错误:db.positions.ensureGeoIndex('latitude','longitude');

我认为问题在于您的索引位于文档中的两个浮点属性上,而不是在两个两个浮点数数组上。 Arango不会抱怨,因为它是NoSQL,它假设也许有一天您将创建具有期望字段的文档。 AFAIK,您只能在非数组字段上创建地理索引。 也许如果您将数组元素分配到另一个集合中的文档中并通过边链接到它们,则可以执行您要执行的搜索。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM