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
DatabaseReference
s (ie. child
).
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
(andkey
, 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 specifiedpriority
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