假设我的应用程序中有一个名为'books'
的收藏夹和一个名为“所有书籍”的页面。现在,假设每次'books'
集合中有添加,删除或更改时,我想在右上角弹出一条消息,指出“此列表已过时”。是否有任何方法可以使每次更改时都没有让侦听器发回'books'
集合中的所有文档?我只想在数据过时而没有其他消息时被通知 。
如果您知道如何实现这一目标,请告诉我。我擅长使用任何一种语言,但首选使用Swift编写的解决方案。
谢谢!
答案 0 :(得分:2)
只需在您的updatedon
文档中添加一个字段books
并将其设置为当前时间(在进行任何写操作时(然后在删除时,您就必须找到隐藏已删除书籍的方法))。
并设置一个这样的侦听器:
colref.where("updatedon", ">", new Date())
.orderBy("updatedon","desc")
.limit(1)
通过这种方式,您每次只需要阅读1次即可。
答案 1 :(得分:1)
不可能。文档或集合中的侦听器始终会收到更改的整个文档。
如果您希望收到“精简版”通知,则可以在感兴趣的文档发生更改时尝试使用FCM向客户端发送消息,但是您必须在每个有趣的文档的后端保留一条记录对于每个用户,使用Cloud Functions触发器检查每个更改的列表,然后将每个有趣的更改通知每个客户。这和听众根本不一样,需要做很多工作。