Skip to main content

Database - Write Data

Get a DatabaseReference#

To read or write data from the database, you need an instance of DatabaseReference:

var database:DatabaseReference;
database = FirebaseDatabase.service.getReference();

Write Data#

Basic write operations#

For basic write operations, you can use setValue() to save data to a specified reference, replacing any existing data at that path. You can use this method to:

  • Pass types that correspond to the available types as follows:
    • String
    • Number
    • Boolean
    • Object
    • Array

For example you can add a user with setValue as follows:

var user:Object = {
username: "someuser",
email: "user@test.com"
}
database.child("users").child(userId).setValue(user);

Using setValue will overwrite any data at the specified location, including any child nodes. However, you can still update a child without rewriting the entire object. If you want to allow users to update their profiles you could update the username as follows:

database.child("users").child(userId).child("username").setValue(name);

Updating Children#

To simultaneously write to specific children of a node without overwriting other child nodes, use the updateChildren() method.

When calling updateChildren(), you can update lower-level child values by specifying a path for the key.

To update children we recommend using the UpdateChildrenBuilder. This class helps construct the correct parameters to pass to the updateChildren function.

It's usage is quite straight forward, simply construct an instance of the builder, then call update for each value update you intend to perform passing the path to the value and the new value.

var ref:DatabaseReference = FirebaseDatabase.service.getReference( "test" );
ref.updateChildren(
new UpdateChildrenBuilder()
.update( "/children_test/numericValue", 100 )
.update( "/children_test/stringValue", "some string" )
.build()
);