Hacker News API 如何在 Firebase 上生成 topStories 和 newStories 端点?
Posted
技术标签:
【中文标题】Hacker News API 如何在 Firebase 上生成 topStories 和 newStories 端点?【英文标题】:How does the Hacker News API produce a topStories and newStories endpoint on Firebase? 【发布时间】:2021-10-05 10:39:17 【问题描述】:Hacker News Firebase API 是公开可用的,具有多个端点,可让您查询任何新闻项目和用户。此外,正如他们的 Github 自述文件所述:
Up to 500 top and new stories are at /v0/topstories (also contains jobs) and /v0/newstories. Best stories are at /v0/beststories.
例如,点击 https://hacker-news.firebaseio.com/v0/topstories.json?print=pretty 会返回 HN 在该时间点的前 500 篇报道的 ID。
我的问题是,这些端点是如何在 Firebase 端创建和更新的? Firebase 数据库允许一些规则,例如 indexOn
,它优化按 ID 或 upvotes 排序的查询等...,但用户仍然需要使用 orderBy()
进行请求排序数据的查询。我在 Firebase 控制台或文档中看不到用于创建这些端点并在云中保持更新的任何地方,因此端点始终返回最新数据。这是如何工作的?
【问题讨论】:
【参考方案1】:似乎没有办法让像这样的端点具有由 Firebase 即时生成的内容。这些端点似乎只是普通的数据端点,它们的数据由 Hacker News 后端不断更新以确保正确。无论如何,Firebase 并不是 HN 数据的真实来源:所有 API 中的数据都会在真实数据库中的基础数据发生变化时由脚本更新。
【讨论】:
我明白了,好的,谢谢以上是关于Hacker News API 如何在 Firebase 上生成 topStories 和 newStories 端点?的主要内容,如果未能解决你的问题,请参考以下文章
可以处理负面排名的 Reddit/Hacker News 风格的流行时间衰减算法