所以我一直在努力让它发挥作用。本质上,我正在构建一个聊天应用程序并依靠 childAdded 观察者来检查新消息。在我的 iOS 应用程序中,我使用以下内容:
//Get ref to users chat node
let messagesRef = dbRef.child("chats").child(self.userId)
//Only get most recent message
let messageQuery = messagesRef.queryOrdered(byChild: "messageTimeStamp").queryLimited(toLast: 1)
// Listen for new messages (last 1) being written to the Firebase DB
messageQuery.observe(.childAdded, with: { (snapshot) -> Void in...
当用户将消息添加到 /chat/uid 时,这可以正常工作。但是当我从firebase admin(节点js)添加一个子节点时,观察者永远不会被解雇。
这就是我从服务器端添加消息的方式:
ref.child('chats/'+ uid).push(message);
消息被正确地添加到树中,但没有观察者被触发。
尽我所能尝试,经过十几次没有产生任何差异的调整,我确信我错过了一些简单的东西。帮助!