gpt4 book ai didi

ios - 跟踪用户喜欢的帖子 - flutter 和 firestore

转载 作者:行者123 更新时间:2023-12-01 19:37:30 25 4
gpt4 key购买 nike

背景:

我正在尝试创建一个应用程序,用户可以在其中滚动浏览帖子并在其中一些帖子上单击“喜欢”。我在后端使用 Firestore,整个事情都是一个 flutter 的应用程序。

问题:

我希望能够跟踪用户喜欢的帖子,所以如果帖子再次出现,我可以让“喜欢”指示器已经打开。这将涉及调用后端以检查帖子是否被喜欢。但是,我不想为每个帖子都调用后端来检查用户是否喜欢它,因为用户不会看到/喜欢绝大多数帖子。理想情况下,我想保留用户已经看过或喜欢的帖子的本地列表,这样我就可以根据本地列表检查帖子,而不是调用后端。我不确定最好/最有效和可持续的方法是什么。

或者:

我希望能够在我获得帖子的其他信息的同一通话中获得用户是否喜欢帖子的指标。什么调用/数据库结构对此有好处?

示例:

如果我喜欢 tumblr 上的帖子,然后再次看到它,我看到帖子和“喜欢”指示器打开之间没有延迟,例如类似指示器没有从关闭加载到打开的时刻,当我看到帖子时它已经打开了。这让我觉得帖子及其“喜欢”状态正在同时加载。这是我想要达到的效果,我并不在乎如何,但 Question 和 Alternate 是我对此的两个想法。

如果有人知道如何做到这一点,请告诉我!

最佳答案

我用来在帖子上存储用户投票(或喜欢)的技术不需要对基于文档的数据库(如 Firestore)进行多次或复杂的查询,即保存已投票的用户的用户 ID。 Post 文档本身中的数组。像这样:

Document structure

这允许您将应用程序上的用户 ID 与 userVote 数组中的列表 ID 进行比较。您将立即知道该用户是否对该帖子进行了投票。

如果希望用户的投票立即反射(reflect)在您的应用程序上,而不是等待数据库结果反射(reflect)在您的 View 上,那么您可以立即在应用程序本地更改投票,然后获得新快照的结果。在 View 到达时收听更新 View 。

关于ios - 跟踪用户喜欢的帖子 - flutter 和 firestore,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59608677/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com