AWS – 在DynamoDB表中放置一个GeoPoing并对其进行查询 – node.js

Amazon现在支持 DynamoDB中的地理空间索引 ,但似乎没有太多关于如何使用node.js SDK来做到这一点的文档。

我试图了解如何:

  1. 将GeoPoint(geohash)值放入DynamoDB表中的项目中

  1. 如何查询半径范围内所有项目的表格(lat,lng)

我看过这篇文章,但不知道它是如何应用在node.js中,找不到任何示例

AWS不提供node.js的地理空间索引库。 他们只有你提到的Java版本。 你可以使用带有lambda函数的java库(我试过了),但是库已经过时了,而且没有维护(最后一次提交是3年前)。 即使在自己修理东西之后,我遇到了像这样的问题。

回答您的问题1和2:AWS编写了一系列文档,介绍他们的库如何计算geohashes以及如何在DynamoDB上执行查询。 这里总结得太多了。

AWS缺乏维护和支持以及我遇到的问题使我得出结论,AWS放弃了对DynamoDB进行地理查询的想法。 此外,我找不到任何其他已经成功应用此库的开发者。

我目前的解决scheme是基于CloudSearch。 我将这些项目(及其位置)写入DynamoDB表中。 我使用DynamoDBstream将表中的所有更改上载到CloudSearch。 CloudSearch拥有开箱即用的地理查询function。