当孩子从firebase admin(nodejs)推出时,Firebase childAdded观察者没有被解雇

时间:2017-03-29 20:11:57

标签: node.js firebase swift3 firebase-admin

所以我一直在努力让这个工作起来。基本上我是在构建一个聊天应用程序并依赖一个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);

消息已正确添加到树中,但不会触发任何观察者。

尽可能地尝试,经过十几次没有产生差异的调整后,我确定我错过了一些简单的事情。救命啊!

1 个答案:

答案 0 :(得分:0)

在发布问题后解决了......典型的!添加.set似乎使观察者工作,即使文档声明它是相同的。

这有效:

ref.child('chats/'+ uid).push().set(message);