【发布时间】: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,而不是全部。
谢谢!
【问题讨论】:
-
我认为你应该在这里创建一个子集合。例如,当两个或更多用户想要聊天时,您应该创建类似聊天室的东西作为文档的子集合,然后您应该能够单独收听子集合,房间上的所有消息都将被发布。
标签: firebase firebase-realtime-database nativescript nativescript-vue