0

UPDATE - SOLVED: Error in referencing. (Mentioned in Comment). Sorry to take your time.

Whenever a user is assigned to a new manager, I want to remove their reference in the managedby node under the earlier manager. The user node (*) structure looks like this:

enter image description here

And the managed by(#) (separate node ) looks like this: enter image description here

On changing the managed by in the user node:

enter image description here

Desired output after cloud function is done with:

enter image description here

My firebase cloud function is this:

exports.updatemanagedby = functions.database.ref('/users/{uid}/managedby').onUpdate(event => {
    if (event.data.previous.exists()) {
        var earlierHandler = event.data.previous.val();
        console.log("earlierHandler ", earlierHandler)
        var sourceId = event.params.uid;
        console.log("Current UID ", sourceId)
        console.log('/managedby/' + earlierHandler + '/' + sourceId);
        var adaRef = admin.database().ref('/managedby/' + earlierHandler.handler + '/' + sourceId)
         adaRef.remove()
            .then(()=> console.log("removed"))
                .catch((error)=>console.log("error is ",error))
    }  
})

On running I receive this on the cloud function log. It even console logs "removed" :enter image description here

But there is no change in the managedby Node as given in (#). F515DYXZbU.....G2 remains there. What am I doing wrong?

KENdi
  • 7,576
  • 2
  • 16
  • 31
user165242
  • 1,379
  • 2
  • 12
  • 18
  • Btw I have also used this: admin.database().ref('/managedby/' + earlierHandler.handler + '/' + sourceId).on('value',function(snapshot) { snapshot.ref.remove() }) – user165242 Oct 20 '17 at 07:27
  • SORRY. My bad. In the ref. I have used : earlierHandler.handler rather than using earlierHandler. – user165242 Oct 20 '17 at 08:55

0 Answers0