Firebase How to update multiple children?

Amr Ibrahim picture Amr Ibrahim · Nov 30, 2016 · Viewed 9.4k times · Source

I have parent with many children like this:

 Parent:{
        "childe1":"data",
        "childe2":"data",
        "childe3":"data",
        "childe4":"data",
        "childe5":"data"
 }

How can I update the children [ childe1 , childe2 , childe3 ] at same time, preventing any other user from updating them at same time?

Answer

Frank van Puffelen picture Frank van Puffelen · Nov 30, 2016

To update multiple properties at the same time, you can run an update() call:

ref.child("Parent").update({
  childe1: "newdata",
  childe2: "newdata",
  childe3: "newdata"
});

You can even specify paths as the keys, in case the properties are at different levels in the tree. Even though that doesn't seem to be the case here, the syntax would be:

ref.update({
  "Parent/childe1": "newdata",
  "Parent/childe2": "newdata",
  "Parent/childe3": "newdata"
});

The exact validation depends a bit on what you'd like to allow, but in general you'd write .validate rules on the server that validate that newData meet your requirements.