2

亚马逊目前在DynamoDB support for geospatial indexing但似乎并没有要对你如何能做到这与node.js的SDK多文档。AWS - 将在DynamoDB表一GeoPoing和查询反对 - Node.js的

我想了解如何:

  1. 把一个GeoPoint(地理散列)值中的一个项目在DynamoDB表

而且

  • 如何查询半径范围内某个位置(lat,lng)内所有项目的表格
  • 我看过this article,但我不确定它是如何应用于node.js的,并且找不到任何示例

    回答

    2

    AWS不提供用于node.js的地理空间索引库。他们只有你提到的java版本。 您可以使用Java库lambda函数(我试过),但库已经过时,不能保持(最后一次提交的是3年前) 我pull request与修复被忽略。 即使在自己修理东西之后,我遇到了像this one这样的问题。

    要回答你的问题1和问题2:AWS写道a document series对他们的方式计算库和geohashes它是如何在DynamoDB执行查询。这里总结得太多了。

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

    我目前的解决方案是基于CloudSearch。我将这些项目(及其位置)写入DynamoDB表中。我使用DynamoDB流将表中的所有更改上传到CloudSearch。 CloudSearch具有开箱即用的地理查询功能。

    +0

    我熟悉Cloudsearch,但它不适合我的需要,因为有上传文件,并在索引变得可用之间的小延迟。 – Zigglzworth

    +0

    是的,是的。我调查了这也http://stackoverflow.com/questions/37131035/cloudsearch-performance-with-frequent-updates-of-small-batches我的使用情况是不是那么重要。 –