使用 nativescript-plugin-firebase 添加带有查询的事件侦听器

Posted

技术标签:

【中文标题】使用 nativescript-plugin-firebase 添加带有查询的事件侦听器【英文标题】:Using the nativescript-plugin-firebase add an Event Listener with a Query 【发布时间】:2019-12-30 05:50:08 【问题描述】:

我正在我的应用程序中使用 nativescript-plugin-firebase for nativescript 和 firebase 实时数据库构建聊天。我只需要收听发送到用户帐户的消息。

是否可以将侦听器addChildEventListener 与查询一起使用,以便仅侦听特定消息(在这种情况下发送到特定的user_id)?

我可以在应用程序中过滤消息,但这不起作用,因为消息量很大。

我知道这可以通过 Firebase 实现,但是,我使用的是 nativescript-plugin-firebase

firebase.addChildEventListener(this.onMessagesChanged, "/chats").then(
      function(listenerWrapper) 
        var path = listenerWrapper.path;
        var listeners = listenerWrapper.listeners; // an Array of listeners added
        // you can store the wrapper somewhere to later call 'removeEventListeners'
      
    )

这个想法是只听与用户相关的 /chats,而不是全部。

谢谢!

【问题讨论】:

我认为你应该在这里创建一个子集合。例如,当两个或更多用户想要聊天时,您应该创建类似聊天室的东西作为文档的子集合,然后您应该能够单独收听子集合,房间上的所有消息都将被发布。 【参考方案1】:

添加子集合是@Manoj 所述的答案

【讨论】:

以上是关于使用 nativescript-plugin-firebase 添加带有查询的事件侦听器的主要内容,如果未能解决你的问题,请参考以下文章

在使用加载数据流步骤的猪中,使用(使用 PigStorage)和不使用它有啥区别?

今目标使用教程 今目标任务使用篇

Qt静态编译时使用OpenSSL有三种方式(不使用,动态使用,静态使用,默认是动态使用)

MySQL db 在按日期排序时使用“使用位置;使用临时;使用文件排序”

使用“使用严格”作为“使用强”的备份

Kettle java脚本组件的使用说明(简单使用升级使用)