gpt4 book ai didi

amazon-web-services - Dynamodb 可以使用两个 GSI 进行查询吗?

转载 作者:行者123 更新时间:2023-12-03 15:38:42 33 4
gpt4 key购买 nike

感谢您花时间阅读我的问题。

我的场景是这样的。我在 dynamodb 中有一个地理点表。

它包括:
object_type(字符串哈希)
id(字符串范围)
纬度(数字 GSI 范围)
lng(编号 GSI 范围)

它有以下索引:
object_type-lat-index(object_type-hash 纬度范围)
object_type-lng-index(object_type-hash lng-range)

我想做的事:IndexName: "object_type-lat-index",
KeyConditionExpression: "object_type=:otype AND (lat BETWEEN :llat AND :glat) AND (lng BETWEEN :llng AND :glng)",
我希望能够通过获取最小纬度和更大纬度之间以及最小 lng 和更大 lng 之间的关系来查询 lat 和 lng

我似乎无法在 dynamodb 文档中找到它。这可以完成还是我正确实现它?因为错误返回类似“只能有 1 或 2 个条件”之类的内容

最佳答案

http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GSI.html#GSI.Querying

http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html

它的工作方式是查询针对表本身(表中定义的键)或 GSI。您不能在同一查询中组合多个 GSI 和表 HK。

这里有2个选项:
1)对2个索引执行2次查询,并在客户端对结果进行交集
2) 对一个索引执行一个 1 查询,使用一个与另一个表达式一起工作的过滤器表达式(所以基本上,例如:使用过滤器在 lat 上查询 long )。

关于amazon-web-services - Dynamodb 可以使用两个 GSI 进行查询吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37264340/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com