Firestore社交网络数据结构

2024-01-05

如何构建社交网络数据库结构,例如twitter我们可以在我们的时间线中关注用户并获取他们的所有推文,我已经检查过了Firestore - 如何构建 feed 和 follow 系统 https://stackoverflow.com/questions/46979375/firestore-how-to-structure-a-feed-and-follow-system但帖子中的解决方案看起来有缺陷。

Firestore 是不同的,它需要冗余数据才能有效地访问数据,但假设我正在关注 1000 人,并且如果我需要通过查询我关注和使用的每 15 个用户的数据来获取所有这些用户的帖子limit(10)那么方法orderBy(timeStamp)查询之间可能有未读的帖子,因为我们正在使用last post timeStamp,如何在 Firestore 中构建社交媒体应用的数据


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

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

这与关系数据库中的典型数据模型有很大不同,因此需要时间来适应是正常的。为了获得良好的介绍,我建议:

  • Reading NoSQL 数据建模 https://highlyscalable.wordpress.com/2012/03/01/nosql-data-modeling-techniques/.
  • 观看面向 SQL 开发人员的 Firebase https://www.youtube.com/playlist?list=PLl-K7zZEsYLlP-k-RKFa7RyNPa9_wCH2s,尽管它是针对实时数据库的,但它解释了如何将常见 SQL 概念映射到 Firebase 的 NoSQL 模型。
  • 观看了解 Cloud Firestore https://www.youtube.com/playlist?list=PLl-K7zZEsYLluG5MCVEzXAQ7ACZBCuZgZ
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Firestore社交网络数据结构 的相关文章

  • Python 中的 Firebase 身份验证时出现 KeyError:“databaseURL”

    相信你做得很好 我是 firebase 的新手 正在尝试进行用户身份验证 我已经安装了pyrebase4并在firebase控制台上创建了一个项目 我还启用了使用 电子邮件和密码 登录并尝试连接我的应用程序 下面是我正在尝试的代码 impo
  • Firebase setDoc() 不创建文档

    我正在使用 auth 创建一个新用户 该用户正在工作 然后使用新创建的 uid 创建一个具有相同内容的新文档 const currentUser await auth createUserWithEmailAndPassword email
  • 仅将 Firesharp 用于 Windows 桌面推送通知

    我想在 Windows 桌面应用程序中使用 Firesharp 该应用程序只会接收来自 Firebase 的通知 并且不会有任何类型的数据库交互 Firebase Cloud Messaging FCM 是 Firebase 唯一使用的东西
  • Google Cloud / Firebase Functions,处理每个函数的依赖关系

    我们有几个需要大量依赖项才能工作的函数 我们有所谓的 jar npm lib 地狱正在发生 并且希望限制对函数的依赖 而不是项目级别的依赖 这可能吗 编辑 尝试按照 Doug 的指示重新表述问题 我们正在使用 Firebase 函数 并且希
  • Android:等待 firebase valueEventListener

    我正在尝试使用信号量来等待我的 firebase valueEventListener 我有一个用户信息活动 其中包含用户必须填写的 6 个不同字段 当用户保存他 她的信息时 我想进行 全有或全无 类型的检查 某些用户信息不能重复 例如用户
  • 如何使用firebase规则检查用户组数组和记录组数组是否相交

    我在 firebase 中有一个记录列表 其中有一个包含零个或多个组的组属性 我还有 firebase auth 对象 它也有零个或多个组 我想为我的记录设置一个 read firebase 规则 该规则将检查两个列表中是否至少存在一个组
  • Firebase Analytics DebugView 收集的事件数据不完整

    我正在将事件发送到 Firebase Analytics 并发现 DebugView 中缺少部分事件参数 下面是发送到 Firebase 的两个相同事件 我检查了 Xcode 调试控制台中是否存在所有参数 缺失的参数似乎是随机的 有时根本没
  • 如何在不使用 Firebase 控制台的情况下发送 Firebase 云消息通知?

    我从新的 Google 通知服务开始 Firebase Cloud Messaging 感谢这段代码https github com firebase quickstart android tree master messaging htt
  • 哪种反应钩子与 firestore onsnapshot 一起使用?

    我在我的 React Native 应用程序中使用了大量的 Firestore 快照 我也在使用 React hooks 代码看起来像这样 useEffect gt someFirestoreAPICall onSnapshot snaps
  • 如何在 iOS 中将 Firebase 对象持久保存到磁盘?

    看起来Firebase http www firebase comiOS 实现不支持客户端模型的离线缓存 这在实践中意味着 对于需要身份验证的 Firebase 应用程序 您需要首先进行身份验证并等待 Firebase 完成登录 检查用户身
  • firestore安全规则中更新字段的数量

    我正在从客户端进行批量操作以仅更新一个字段 但在进行批量操作和安全规则测试时 观察到多个字段正在被更新 我用这个检查了request resource data size gt 1 and request resource data key
  • Flutter - 构建失败并出现异常

    当我启动我的应用程序时 我收到此错误消息 自上次运行以来我没有进行任何更改 当时一切都很好 有人知道如何解决这个问题吗 谢谢 FAILURE Build failed with an exception 什么地方出了错 无法确定任务 app
  • 从 Firebase Crashlytics 控制台导出数据?

    我正在试用 Firebase Crashlytics 日志数据的控制台显示很混乱 见下图 有没有办法导出完整的崩溃报告 我在 Firebase 控制台中看不到 我从未使用过原始的 Crashlytics 但我看到它有一个导出工具 Fireb
  • 带有空格的 Firestore 文档字段名称在 Python 中与 .where() 一起使用时会返回错误

    使用 Firebase 的 Cloud Firestore 在 Python 3 7 中编写一个非常简单的程序 在程序中 我使用 where 下拉集合的一部分 然后使用 for 循环对其进行迭代 当任何带有空格的字段名称被传递到 where
  • firebase中按范围查询

    我有一个食品价格范围滑块 根据滑块的最小值和最大值 我想显示此范围内的食品 滑块代码 multiSlider setOnThumbValueChangeListener new MultiSlider SimpleChangeListene
  • Angular firestore 查询 firestore 文档

    我有以下查询 selectedUser AngularFirestoreDocument
  • 配置根项目“firebase_auth”时出现问题

    my error 我无法构建 apk 发布文件 我完成了应用程序一段时间 没有出现错误 几天后 我在构建应用程序时收到此错误 请告诉我如何摆脱它 我尝试了 4 个小时 什么也没得到 FAILURE Build failed with an
  • 如何使用完成处理程序等待 firestore 请求的完成

    我正在慢慢地了解完成处理程序 如果我有一个 firestore 查询 如果我想使用完成处理程序 则有点向后工作 当 firestore 查询完成时 我必须使用completion 但它的设置功能仍然让我感到困惑 因此 如果这是一个将闭包作为
  • 在我的 Android 应用程序中使用 ServerValue.TIMESTAMP

    我读过很多相关的 stackoverflow 问题 ServerValue TIMESTAMP 但我不知道如何在我的应用程序中使用它 我需要获取帖子创建的时间戳 时间戳应该添加到与帖子的 uid 作者等相同的位置 代码片段其中写这篇文章Fi
  • Cloud Firestore:强制执行唯一的用户名

    问题 我已经多次看到这个问题 也在 Firebase 实时数据库的上下文中 但我还没有看到令人信服的答案 问题陈述相当简单 经过身份验证的 用户如何选择尚未被占用的用户名 首先 why 用户通过身份验证后 拥有唯一的用户ID 然而 许多网络

随机推荐

  • 在 Kotlin 中,如何获取数组的前 n 个元素

    在 Kotlin 中 如何获取该数组的前 n 个元素 val allColours arrayOf Pair Color RED Color WHITE Pair Color RED Color BLACK Pair Color YELLO
  • 如何提前了解内存不足或堆栈溢出错误

    在Java中 有没有办法知道StackOverflow错误或OutOfMemory异常可能很快就会发生 The OutOfMemory如果能够以编程方式获取内存使用统计信息 并且提前知道在执行之前需要使用多少内存 则异常可能更容易捕获 Ou
  • 如何去掉列表中的重复项,但保持顺序

    我在用Lambda 中级学生在 DrRacket 中 我想知道如何删除列表中的重复项 同时保持顺序 例如 remove dup list 2 5 4 5 1 2 会产生 list 2 5 4 1 到目前为止 我有这个 define remo
  • Wordpress get_template_directory_uri() 返回 http 而不是 https

    我们最近在我们的网站上应用了 SSL 证书 我们希望所有的 url 都具有 https 协议 一旦我们将网站移至 https 我们的网站就崩溃了 因为仍然指向 http 的资源很少 经过一段时间的研究 我发现 get template di
  • xgoogle python 库不再工作了?

    我在我的一个项目中使用了 xgoogle python 库 直到最近它都运行良好 我没有得到以前得到的结果集 如果使用过 Peter Krummins 编写的这个库的人遇到类似的情况 你能建议一个解决方法吗 The 的存在Beautiful
  • 请求全屏刷新对象标签中的数据(html canvas)

    我在视图页面上有一个按钮 可以使带有 id 游戏的对象标签全屏显示 视图 html span span main js function fullScreen var elem document getElementById game if
  • Apple 支付按钮未以条纹显示

    您好 我正在使用 iphone 6s safari 浏览器 但未显示付款请求按钮 对于网站 我的所有步骤都是正确的 我使用了 https 服务器 ngrok 还在 Stripe Apple Pay 认证中添加我的域名 使用 Safari I
  • 我可以使用简单的 html 来创建单行大小的 QTextEdit 吗?

    我需要显示简单的状态行以及包含以下样式的文本 color bold italic QTextEdit可以渲染简单的 HTML 但它也强制扩展到多行 添加红色背景以强调尺寸QTextEdit 所需的大小是一个文本行的大小 我该如何实现这一目标
  • “未指定 SMTP 主机。” - 但它是指定的?

    我在这里有点困惑 我收到以下错误 未指定 SMTP 主机 即使我的代码看起来是正确的 从我所看到的 我可以通过包含控制器内部的所有详细信息来手动完成此操作 例如 SmtpClient smtpClient new SmtpClient sm
  • 在哪里可以找到所有英国_完整_邮政编码的列表,包括街道名称及其精确坐标?

    在哪里可以找到英国所有的名单full邮政编码 包括街道名称及其精确坐标 它们不应该像 AB1 AB23 等 而是 AB1 2AA AB23 5ZZ 等 最好是免费的 Thanks 您现在可以从地形测量局免费获取邮政编码数据https www
  • 使用绑定时如何使子 NSManagedObjectContext 保持最新状态

    我有一个NSManagedObjectContext设置为有一个NSPrivateQueueConcurrencyType我在我的应用程序中大部分时间都在使用它 除此之外 我还创建了一个子 MOCNSMainQueueConcurrency
  • 用于多个项目的 QML 中继器,无需包装项目

    我想要创建一个看起来像这样的视图 为了简洁起见 我省略了一个专栏 text headr text item1 item2 text item3 item4 item5 item6 并一直尝试使用 GridLayout 来做到这一点 问题是我
  • Rails 4 - simple_form 和从 url 预填充字段

    我正在使用 simple form 我想在表单中预先填充几个字段 在表单的链接中 我将几个值传递给 URL 中的参数 当我尝试将值传递给整数或关联字段时 就会出现麻烦 无论哪种情况 该字段都不会预先填充 下面的示例 前两个字段填充得很好 但
  • std::pow 给出小数指数的错误近似值

    这就是我想要做的事情 double x 1 1402 double pow 1 3 std pow x pow 1 结果是 0 但我期望 0 4465 方程是 1 x 3 1 1402 find x 1 3 是 0 这是整数除法 Try d
  • 当 Ionic 2 中的值发生变化时检索本地存储值

    我正在使用 ionic 2 框架 并且尝试使用本地存储来存储网络状态 this local new Storage LocalStorage this local set status this status 有两个值 强 和 弱 可以动态
  • Nginx 和 FastCGI 下载 PHP 文件而不是处理它们

    我在 Windows 7 64 位 PHP 5 4 12 和 Nginx 1 5 8 上运行 我已经阅读了许多有关设置和解决此问题的教程 即当从本地主机请求 PHP 文件时 它将其作为文件下载 而不是显示 PHP 页面 下面是我的 ngin
  • 按日期顺序全局搜索文件?

    我的 python 脚本中有这行代码 它在特定目录中的所有文件中搜索 cycle log for searchedfile in glob glob cycle log 这工作得很好 但是当我将脚本运行到网络位置时 它不会按顺序搜索它们 而
  • 水晶报表自定义纸张尺寸?

    我需要水晶报告中的自定义纸张尺寸 例如宽度 5 英寸和高度 7 英寸 是否可以 IIRC 您在打印机上设置自定义纸张尺寸 然后当您在设计时在报告中设置打印机时 Crystal 会拉出自定义尺寸
  • 通过 Kafka 报告 (prometheus) 指标

    我正在寻找一种将 Prometheus 与应用程序解耦的方法 通过在中间放置 Kafka 来实现如下目标 Application metrics gt Kafka gt Prometheus 为了解决这个问题我有两个问题 是否有任何 Jav
  • Firestore社交网络数据结构

    如何构建社交网络数据库结构 例如twitter我们可以在我们的时间线中关注用户并获取他们的所有推文 我已经检查过了Firestore 如何构建 feed 和 follow 系统 https stackoverflow com questio