将快照侦听器添加到集合Firestore

问题描述 投票:5回答:1

所以我对firebase有点陌生,我正在开发一个android应用。我想做的是:我想创建一个在后台运行的服务,该服务可以侦听Firestore中的整个集合(例如“消息”),一旦将文档添加到集合中,我想检查文档是否包含某个值,以及是否确实推送通知。伪代码的概述:

   messages.attachlistener(onNewDocument(doc) -> {

      if(doc.getString(username) == my_username)
      {
          send_notification(doc.getString(message));
          cache_message_for_later();
          delete_doc_from_table();
       }
    };

我的问题是这样的:是否可以将侦听器附加到集合?我只在文档中找到文档侦听器。如果可能的话,这样的监听器在性能上是否可行? (我的想法:此服务将始终在后台运行,但是文档在缓存后会被删除,因此表的大小不会太大并且可以平衡吗?)

android firebase performance google-cloud-firestore android-service
1个回答
0
投票

我对代码进行了快速检查以确认。

您可以执行这样的代码,而不会出现问题:

val db = FirebaseFirestore.getInstance()
val query = db.collection("Quotes_historyfavorites").document(userId)
                .collection(FireBaseConstants.QuoteCollection.FAVORITE)
                .orderBy("Added", Query.Direction.DESCENDING)

我不确定是否可以进行顶级收藏,但我相信您会在遇到性能问题之前面临金钱问题。

© www.soinside.com 2019 - 2024. All rights reserved.