当前位置: 首页 > 知识库问答 >
问题:

Firestore社会网络数据结构

通和裕
2023-03-14

Firestore则不同,它需要冗余数据来有效地访问数据,但假设我跟踪了1000个人,如果我需要通过查询我跟踪的每15个用户的数据并使用limit(10)方法来获得所有这些用户的帖子,那么orderby(timeStamp)查询之间可能会有未读的帖子,因为我们使用last post timeStamp获得帖子,如何在Firestore中为社交媒体应用程序构造数据

共有1个答案

晏炳
2023-03-14

在NoSQL数据库上建模用例时,您倾向于针对应用程序的特性和频繁的读操作进行优化。

因此,在一个社交媒体应用程序中,你的主要功能可能是用户可以看到他们关注的每个人的最新帖子。要优化此操作以进行频繁读取,您需要将每个用户应该看到的帖子存储在该用户的文档中。因此,与Twitter相比,您几乎有一个包含每个用户的Twitter提要的文档。或者,如果单个文档的数据太多,您可能希望将其放在集合中。我经常将此解释为在数据库中建模应用程序的屏幕。

这与关系数据库中的典型数据模型非常不同,因此通常需要时间来适应。对于一个好的介绍,我推荐:

    null
 类似资料:
  • 我正在设计一个社交应用程序,使用java android,FireStore作为后端。一开始,FiRest建模可能是一个很大的变化,正如我所读到的,我试图保持文档小,不要制作太多的子集合,让我们假设以下场景: 一个用户可以创建几个配置文件 一个配置文件有兴趣 一个用户可以跟随或取消跟随许多配置文件,所以一个配置文件可以被很多用户跟随 uid:uidUserOne 姓名:杰夫 兴趣:{瑜伽: tru

  • 我正在尝试为一个简单的社交媒体概念创建一个简单的云Firestore数据库结构。 每个用户最多可以有一个可以随时更新的帖子(一个“最喜欢的”帖子除外)。用户“最喜欢的”版本的帖子被保存为一个单独的帖子,当用户在其当前版本的帖子上收到比最喜欢的版本更多的赞时,该帖子可以被更新。 friends子集合存储好友用户名,因此很容易按用户名创建该用户的好友列表。我假设我可以通过将朋友的documentID与

  • 社交网络的一大特征就是用户间的相互关注,从而形成朋友圈或媒体圈,实现便捷的信息分享和传播。GitHub支持项目级别及用户级别的关注。 关注一个项目很简单,只需点击项目名称右侧的“Watch”按钮。 图2-27:项目的关注按钮 添加对项目的关注后,点击页面左上角的“github”文字图标进入仪表板(Dashboard)页面,如图2-28所示。 图2-28:关注项目在仪表板页的显示 仪表板页面的左侧显

  • 我有一个集合,我的应用程序在其中存储用户的所有帖子,数据结构如下: 现在,我想向我的用户显示这个集合的所有帖子;但是,只有当用户跟随创建帖子的人时,即帖子文档的字段适合。 我知道如果用户只关注一个人,查询集合是很简单的,也就是说,我有一个简单的子句。但是:如果我的用户关注10,000人或更多人呢?我怎么查询呢? 另外,我应该如何存储,即用户跟随的人?使用简单的数组似乎不适合我,但是使用所有其他选项

  • 在本章中,让我们研究一下Drupal中的Social Networking 。 社交媒体现在变得非常重要,Drupal为此目的有许多社交媒体模块。 我们以ShareThis模块为例,您可以选择其他任何选择。 以下是用于安装ShareThis模块的简单步骤。 Step 1 - 单击ShareThis以访问ShareThis模块页面,然后单击Version ,如以下屏幕所示。 Step 2 - 复制模

  • 云Firestore的Android示例应用的数据库结构如下所示: 现在考虑这样一种情况:第一家餐厅有大量的评级(这里评级是第一家餐厅id中的其他文档的集合),我只想显示所有餐厅的基本细节,如名称和城市。 我将通过创建如下所示的引用来实现这一点: 我对此有以下问题: 这是正确的方法吗?因为我正在获取一个文档快照,其中还包括我现在不需要的评级集合,因为它会降低加载速度? 我是否应该像在firebas