小编Abh*_*ngh的帖子

Google SignIn CocoaPods已弃用

如何在iOS应用中实施Google SignIn,因为现在Google pod已被弃用?

使用已弃用的pod正在提供:找不到框架GoogleAppUtilities

xcode ios cocoapods swift google-signin

13
推荐指数
2
解决办法
2962
查看次数

用于聊天应用程序的 Dynamo DB ERD

我正在尝试将我的聊天应用程序从 Firestore 迁移到 DynamoDB。

目前我在 firebase 中有 2 个集合:RoomsUsers. Users集合包含用户所属的所有 roomsId。 Rooms集合有一些元数据,例如名称、图标等以及Messages子集合。Messages子集合具有与消息相关的整个有效负载。

我在为此设计 Dynamo DB ERD 时感到困惑。我已经开发了以下 ERD 以及列出的访问模式,但我无法计算出 PK、SK 和二级索引(如果需要)。

ERD

2021 年 6 月 14 日更新:根据我收到的答案和帮助,我成功地进行了以下设计,我认为这将支持我所有的访问模式。

我想要运行的一个主要查询是通过用户 ID 获取所有房间的配置项,我不确定是否能够在单个查询中获取它。现在,简单的解决方案是获取用户的所有房间,然后获取所有获取的房间的所有配置(SK),我认为这不是一个好的解决方案。

表格1

支持的访问模式:

  1. 获取房间中的所有用户 (PK= ROOM#rid&& SK= Begins_with(USER#))
  2. 获取单个房间的配置(PK= ROOM#rid&& SK= CONFIG
  3. 获取单个房间的消息(PK= ROOM#rid&& SK= Begins_with( MESSAGE#)

GSI

支持的访问模式:

  1. 获取用户的所有房间 (PK= USER#uid&& SK= Begins_with(ROOM#))

primary-key amazon-web-services amazon-dynamodb secondary-indexes google-cloud-firestore

1
推荐指数
1
解决办法
4509
查看次数