你好,
是否可以在 API 响应中按顺序排列帖子?
我想获取按“id”排序的帖子。
谢谢!
你好,
是否可以在 API 响应中按顺序排列帖子?
我想获取按“id”排序的帖子。
谢谢!
此外,更具体地说是 https://meta.discourse.org/posts.json
谢谢两位。
Richard,我认为您的请求是针对主题(topics),而非帖子(posts)。
Rafael 的思路基本正确,但我不认为可以按创建日期排序(希望我错了?)。
即使可以,我也不相信帖子的 ID 是根据创建时间分配的。
就我们 Discourse 实例的实际情况而言,我们观察到许多 ID 分配与时间顺序不一致的例子。
当您尝试使用此处讨论的方法拉取所有帖子时,这会成为一个问题。如果我们无法按 ID 对帖子进行排序,那么这将变得不可能实现。
据我所知,默认排序就是按创建日期。
确实是这样分配的。
顺序中的间隙通常是因为用户无法查看的帖子,最有可能的是私信(PM)中的帖子。
如果你的目标是提取所有帖子,将完整备份加载到本地 PostgreSQL 实例中,甚至使用我们的 Data Explorer 插件,可能会更简单。
每个 Postgres 主节点会一次性获取一组(我相信是 32 个)自增 ID。如果您的数据库规模足够大,那么创建操作将在这些 ID 组之间交替进行。
这也意味着,当数据库发生故障转移时,会产生 ID 间隙。
谢谢!这提供了很有用的背景信息。