gpt4 book ai didi

ios - AWS DynamoDB 为用户记住项目

转载 作者:行者123 更新时间:2023-11-30 12:40:18 26 4
gpt4 key购买 nike

我正在使用 AWS Mobile HUD 和连接服务(最突出的是 Cognito 和 DynamoDB)构建应用程序。目前,我面临着设置一个方案的问题,该方案允许我在 DynamoDB 项目上存储用户相关信息(反之亦然)。

场景

运行 1

  1. 用户 A 从 DynamoDB 中提取 [RootItem] = {RootItem_1, RootItem_2, RootItem_3} 列表(检查:工作正常)
  2. 用户 A 要么关闭 RootItem_1(在应用中标记为“不感兴趣”)

运行 2

  1. 用户 A 登录应用程序
  2. 用户 A 提取 [RootItem] = {} 的列表
  3. 用户 A 应该只获取被拒绝的 RootItems
  4. 发送给客户端的列表应为{RootItem_2, RootItem_3}

作为非关系数据/NoSQL 的新手,我不确定解决这个问题的最佳方法是什么。可能的想法:

  • 将用户 ID 存储在 RootItem_1 上,以将其排除在扫描中[问题:可能有数千名用户拒绝同一项目]
  • 将 RootItem_1 的 uuid 存储到 cognito 上的用户数据,在拉取之前在本地缓存并从拉取中排除 uuid
  • 创建包含排除/排除 [userid, rootItem_uuid] 的表,首先查询此表以获取用户排除列表。 > 潜在的性能问题?

如果能得到一些建议,在 NoSQL 环境中处理这个问题的最佳方法是什么,那就太好了。

最佳答案

这当然取决于 RootItem 的数量,以及每个用户现有的事件(未消除)RootItem 的数量。但我会维护一个 RootItems 列表(或对其的引用)并将其存储在每个用户的表中,并在用户关闭项目时维护该列表。或者甚至有可能大多数项目都被忽略,然后它将成为用户保存的项目列表?

关于ios - AWS DynamoDB 为用户记住项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42315780/

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