DatabaseReference class

DatabaseReference represents a particular location in your Firebase Database and can be used for reading or writing data to that location.

This class is the starting point for all Firebase Database operations. After you’ve obtained your first DatabaseReference via FirebaseDatabase.instance.ref(), you can use it to read data (ie. onChildAdded), write data (ie. setValue), and to create new DatabaseReferences (ie. child).

Inheritance

Properties

hashCode int
The hash code for this object.
no setterinherited
key String?
Gets the last token in a Firebase Database location (e.g. ‘fred’ in https://SampleChat.firebaseIO-demo.com/users/fred)
no setter
onChildAdded Stream<DatabaseEvent>
Fires when children are added.
no setterinherited
onChildChanged Stream<DatabaseEvent>
Fires when children are changed.
no setterinherited
onChildMoved Stream<DatabaseEvent>
Fires when children are moved.
no setterinherited
onChildRemoved Stream<DatabaseEvent>
Fires when children are removed. previousChildKey is null.
no setterinherited
onValue Stream<DatabaseEvent>
Fires when the data at this location is updated. previousChildKey is null.
no setterinherited
parent DatabaseReference?
Gets a DatabaseReference for the parent location. If this instance refers to the root of your Firebase Database, it has no parent, and therefore parent() will return null.
no setter
path String
Slash-delimited path representing the database location of this query.
no setterinherited
ref DatabaseReference
Obtains a DatabaseReference corresponding to this query's location.
no setterinherited
root DatabaseReference
Gets a DatabaseReference for the root location.
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

child(String path) DatabaseReference
Gets a DatabaseReference for the location at the specified relative path. The relative path can either be a simple child key (e.g. ‘fred’) or a deeper slash-separated path (e.g. ‘fred/name/first’).
endAt(Object? value, {String? key}) Query
Create a query constrained to only return child nodes with a value less than or equal to the given value, using the given orderBy directive or priority as default, and optionally only child nodes with a key less than or equal to the given key.
inherited
endBefore(Object? value, {String? key}) Query
Creates a Query with the specified ending point (exclusive) The ending point is exclusive. If only a value is provided, children with a value less than the specified value will be included in the query. If a key is specified, then children must have a value lesss than or equal to the specified value and a key name less than the specified key.
inherited
equalTo(Object? value, {String? key}) Query
Create a query constrained to only return child nodes with the given value (and key, if provided).
inherited
get() Future<DataSnapshot>
Gets the most up-to-date result for this query.
inherited
keepSynced(bool value) Future<void>
By calling keepSynced(true) on a location, the data for that location will automatically be downloaded and kept in sync, even when no listeners are attached for that location. Additionally, while a location is kept synced, it will not be evicted from the persistent disk cache.
inherited
limitToFirst(int limit) Query
Create a query with limit and anchor it to the start of the window.
inherited
limitToLast(int limit) Query
Create a query with limit and anchor it to the end of the window.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
once([DatabaseEventType eventType = DatabaseEventType.value]) Future<DatabaseEvent>
Listens for exactly one event of the specified event type, and then stops listening. Defaults to DatabaseEventType.value if no eventType provided.
inherited
onDisconnect() OnDisconnect
Returns an OnDisconnect instance.
orderByChild(String path) Query
Generate a view of the data sorted by values of a particular child path.
inherited
orderByKey() Query
Generate a view of the data sorted by key.
inherited
orderByPriority() Query
Generate a view of the data sorted by priority.
inherited
orderByValue() Query
Generate a view of the data sorted by value.
inherited
push() DatabaseReference
Generates a new child location using a unique key and returns a DatabaseReference to it. This is useful when the children of a Firebase Database location represent a list of items.
remove() Future<void>
Remove the data at this Firebase Database location. Any data at child locations will also be deleted.
runTransaction(TransactionHandler transactionHandler, {bool applyLocally = true}) Future<TransactionResult>
Performs an optimistic-concurrency transactional update to the data at this Firebase Database location.
set(Object? value) Future<void>
Write a value to the location.
setPriority(Object? priority) Future<void>
Sets a priority for the data at this Firebase Database location.
setWithPriority(Object? value, Object? priority) Future<void>
Write a value to the location with the specified priority if applicable.
startAfter(Object? value, {String? key}) Query
Creates a Query with the specified starting point (exclusive). Using startAt, startAfter, endBefore, endAt and equalTo allows you to choose arbitrary starting and ending points for your queries.
inherited
startAt(Object? value, {String? key}) Query
Create a query constrained to only return child nodes with a value greater than or equal to the given value, using the given orderBy directive or priority as default, and optionally only child nodes with a key greater than or equal to the given key.
inherited
toString() String
A string representation of this object.
inherited
update(Map<String, Object?> value) Future<void>
Writes multiple values to the Database at once.

Operators

operator ==(Object other) bool
The equality operator.
inherited