【问题标题】:Saving users scores and favorites in Firestore Database在 Firestore 数据库中保存用户分数和收藏夹
【发布时间】:2020-06-22 21:29:18
【问题描述】:

我在一个使用 Firestore 数据库作为后端的小项目中工作。我解释了数据库,以便了解我需要什么:

基本上我有一个集合,其中包含一个文档列表,其中每个文档都代表一个游戏。对于每款游戏,我都有名称、封面图片、信息、类别等。

我还有一个用户集合,其中我有每个用户的特定 UID(从 auth 部分检索)、电子邮件等。

我现在想要的是保存某些用户可能在其中一些游戏中获得的分数,以及用户可以保存的最喜欢的游戏。我不明白的是如何在用户和游戏之间建立联系。例如,我认为我应该保存用户得分,在提到的第一个集合中的每个文档(游戏)中创建一个集合。但是,当我使用 ID“分数”创建此集合时,它会询问我必须提供 ID 的第一个文档(如果不是自动的),然后我不知道如何继续。

我还读到我必须在根文件夹中创建其他集合,例如指定用户 UID 的“收藏夹”或“分数”,但是,我如何连接用户 UID、分数和游戏用户从那里得到这个分数?

我希望我正确地解释了自己。谢谢。

【问题讨论】:

标签: firebase google-cloud-firestore


【解决方案1】:

首先,我同意 Doug 上面的评论。 Firestore 教程视频是一个很好的资源!

在将数据连接到您的用户方面,您有一些选择。您可以:

  1. 在每个用户下创建子集合。如/users/{user_id}/favorites。收藏夹可以是子集合或 game_id 数组,具体取决于您的用例。

  2. userID 字段存储在顶级“分数”或“收藏夹”集合中的文档中。然后,您可以通过在 /scores 集合的查询中添加 where userID == {user_id} 子句来查询 /scores 集合中的分数。

【讨论】:

  • 感谢您的回答。我一直在看一些视频,但我缺乏知识需要更多的阅读和实验。我了解如何将用户与他们的分数联系起来,但我不太了解如何将该分数与集合中的不同“文档”联系起来(每个游戏对不同的用户都有不同的分数)。
猜你喜欢
  • 2013-10-20
  • 1970-01-01
  • 1970-01-01
  • 2020-05-17
  • 1970-01-01
  • 1970-01-01
  • 2019-01-12
  • 2011-06-08
  • 2020-03-06
相关资源
最近更新 更多