manidos
manidos

Reputation: 3464

Listen for changes in a list child

In my database I store user messages. Each message can be liked/unliked. On web-client I want to listen for likes changes. I can't quite figure out how it's done.

Here's database structure:

{
  "messages": {
    ".write": true
    "$messageId": {
      likes: { ".validate": true }
      text: { ".validate": true }
    }
  }
}

If I was using cloud functions I'd subscribe like this:

exports.tags = functions.database.ref('/messages/{id}/likes')
  .onWrite(event => {
    const newValue = event.data.val()
    ....
  })

In other words I need to get a message object whenever it's likes value changes. Any advice?

Upvotes: 0

Views: 105

Answers (1)

sschunara
sschunara

Reputation: 2285

You need to set observer for message table as below code

messageRef.on('child_changed', function(data) {
  setCommentValues(postElement, data.key, data.val().text, data.val().author);
});

And to do needful in the body of function.

Upvotes: 1

Related Questions