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

使用firebase实时数据库或firestore为社交媒体平台设置rss提要或提要

梁丘宏硕
2023-03-14

我想创建一个应用程序,包括rss提要或你可能会看到instagram或facebook的提要。我目前正在尝试使用firebase实时数据库或firestore作为后端来存储显示给用户的帖子。我似乎想不出一个办法来实现这一点。理想的解决方案是按时间顺序发送帖子列表,而不需要对客户端进行任何额外排序。当我尝试使用实时数据库时,我可以轻松地将所有相关帖子添加到它们自己的路径中,并在客户端对它们进行排序(或者使用云函数在服务器端对数据进行排序)。在尝试使用firestore提出解决方案时,我的想法是让post文档包含一个子集合的引用,该子集合包含订阅者/关注者列表,但我似乎找不到根据引用的子集合中是否存在文档来选择帖子的方法。

仅供参考,我想要理想解决方案的原因是分页。

共有1个答案

佟寒
2023-03-14

我几乎没有使用Firebase的经验。然而,如果我理解正确,这很容易实现。

第一部分是存储日期,请确保将其存储为时间戳(date.getTime())。

然后您可以执行以下操作:

db。参考(“帖子”)。orderByChild(“日期”)。limitToLast(10)

这允许您获取最后10个帖子。要获取前10个帖子,您可以从最早的帖子中获取日期,并执行以下操作:

db。参考(“帖子”)。orderByChild(“日期”)。endAt(上一个日期-1)。limitToLast(10)

请注意,如果2篇文章具有相同的date值,您可能希望以不同的方式处理此问题。

 类似资料:
  • 这里是一个简单的社交媒体平台的持久性设计。目前有以下表: users:数据库的主表,包含在应用程序中注册的用户的信息。将存储在此表中的数据将是 名称:用户 字段:id、姓名、用户名、密码、电子邮件、个人信息、关注者、关注者、图片。 主键:ID 名称:posts 字段:id、标题、图片、说明、内容、created_at、likes、user_id。 主键:ID 外键:表用户的user_id null

  • 据我所知,这些方法需要大致相同的读写次数。 一个想法是在中有一个名为posts的字段,这是我想为用户提取的文档数组。这将允许我直接从中提取数据,并获得数据的最新版本。 另一种方法似乎更Firebasey,它将文档存储在users/{userId}/feeds中,这些feeds是帖子本身的副本。我可以使用与中的数据相同的。假设,如果我需要为任何审查更新数据,我可以使用组集合查询来获取所有称为提要的集

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

  • 因此,我想创建一种社交媒体应用程序,并使用fiRest作为主数据库。 目标是创建“facebook”新闻源。 每个用户都有一个朋友列表,每个用户都可以创建帖子。 每个帖子都可以被修改为对应用程序的所有用户或用户朋友可见。所以每个用户都可以向他所有的朋友发布帖子,并向应用程序中的每个人发布帖子。 此外,用户还可以在新闻提要中“保存”他们喜欢的帖子。(类似帖子子集合) 现在在用户的新闻提要中-我如何查

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

  • 我需要将数据从Firebase实时数据库切换到Firestore DB。我该怎么做? 视频主要关注实时db,但我认为由于我没有激活实时db,它会转到Firestore。但我让它工作的唯一方法是启用实时db。所以我可以在Firebase中插入和读取数据,但我需要它在Firestore中。 任何帮助都是非常感激的。