【问题标题】:Conditional update operation to lowercase the attribute value小写属性值的条件更新操作
【发布时间】:2015-08-08 01:49:07
【问题描述】:

我知道 DynamoDb 不支持对特定列/属性(例如 column_A)进行区分大小写的搜索,因此尝试创建一个新列/属性(例如 column_A_Lower ) 包含与 column_A 相同的内容,但完全小写。我通过每 5 分钟安排一个线程来执行此操作,该线程在表中选择新创建的项目/行,添加新的所需小写版本的属性,然后批量更新。这种方法似乎很慢,并且需要强一致的读取,以执行进一步的更新,因为已经更新的项目不需要再次更新。 用小写内容复制属性值的更好方法是什么?有条件更新能以任何方式达到我们的目的吗?

【问题讨论】:

  • 从应用端创建item时为什么不能添加这个属性?
  • 最好不要将 DynamoDB 视为搜索平台,例如 CloudSearch
  • 这是一个如此简单的任务,我不知道小写搜索意味着我正在尝试使用一个 nosql 面向文档的数据库作为搜索引擎平台......在 firebase 上搜索它,并检查他们是否也没有提供不区分大小写的查询... stackoverflow.com/questions/37643459/… 问题是关于 CloudSearch 或 ElasticSearch 的成本,但我只是评论它,因为那些会检查这个线程并尝试确认是否有另一种方法这样做...

标签: amazon-dynamodb


【解决方案1】:

您可以进行有条件的更新: 使用 updateExpression: "attribute_not_exists(column_A_lower)"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-05
    • 1970-01-01
    相关资源
    最近更新 更多