Go to console

A Query sorts and filters the data at a Database location so only a subset of the child data is included. This can be used to order a collection of data by some attribute (for example, height of dinosaurs) as well as to restrict a large list of items (for example, chat messages) down to a number suitable for synchronizing to the client. Queries are created by chaining together one or more of the filter methods defined here.

Just as with a Reference, you can receive data from a Query by using the on() method. You will only receive events and DataSnapshots for the subset of the data that matches your query.

Read our documentation on Sorting and filtering data for more information.

Index

Properties

ref

Returns a Reference to the Query's location.

Methods

endAt

  • endAt(value: number | string | boolean | null, key?: string): Query
  • Creates a Query with the specified ending point.

    Using startAt(), endAt(), and equalTo() allows you to choose arbitrary starting and ending points for your queries.

    The ending point is inclusive, so children with exactly the specified value will be included in the query. The optional key argument can be used to further limit the range of the query. If it is specified, then children that have exactly the specified value must also have a key name less than or equal to the specified key.

    You can read more about endAt() in Filtering data.

    example
    // Find all dinosaurs whose names come before Pterodactyl lexicographically.
    var ref = firebase.database().ref("dinosaurs");
    ref.orderByKey().endAt("pterodactyl").on("child_added", function(snapshot) {
      console.log(snapshot.key);
    });

    Parameters

    • value: number | string | boolean | null

      The value to end at. The argument type depends on which orderBy*() function was used in this query. Specify a value that matches the orderBy*() type. When used in combination with orderByKey(), the value must be a string.

    • Optional key: string

      The child key to end at, among the children with the previously specified priority. This argument is only allowed if ordering by child, value, or priority.

    Returns Query

equalTo

  • equalTo(value: number | string | boolean | null, key?: string): Query
  • Creates a Query that includes children that match the specified value.

    Using startAt(), endAt(), and equalTo() allows us to choose arbitrary starting and ending points for our queries.

    The optional key argument can be used to further limit the range of the query. If it is specified, then children that have exactly the specified value must also have exactly the specified key as their key name. This can be used to filter result sets with many matches for the same value.

    You can read more about equalTo() in Filtering data.

    example
    // Find all dinosaurs whose height is exactly 25 meters.
    var ref = firebase.database(