Query

public class Query

Known direct subclasses
CollectionReference

A CollectionReference can be used for adding documents, getting document references, and querying for documents (using the methods inherited from Query).


A Query which you can read or listen to. You can also construct refined Query objects by adding filters and ordering.

Subclassing Note: Cloud Firestore classes are not meant to be subclassed except for use in test mocks. Subclassing is not supported in production code and new SDK releases may break code that does so.

Summary

Nested types

public enum Query.Direction

An enum for the direction of a sort.

Public fields

final FirebaseFirestore

Public methods

@NonNullListenerRegistration

Starts listening to this query.

@NonNullListenerRegistration

Starts listening to this query using an Activity-scoped listener.

@NonNullListenerRegistration

Starts listening to this query.

@NonNullListenerRegistration
addSnapshotListener(
    @NonNullMetadataChanges metadataChanges,
    @NonNullEventListener<QuerySnapshot> listener
)

Starts listening to this query with the given options.

@NonNullListenerRegistration

Starts listening to this query with the given options.

@NonNullListenerRegistration
addSnapshotListener(
    @NonNullActivity activity,
    @NonNullMetadataChanges metadataChanges,
    @NonNullEventListener<QuerySnapshot> listener
)

Starts listening to this query with the given options, using an Activity-scoped listener.

@NonNullListenerRegistration
addSnapshotListener(
    @NonNullExecutor executor,
    @NonNullMetadataChanges metadataChanges,
    @NonNullEventListener<QuerySnapshot> listener
)

Starts listening to this query with the given options.

@NonNullAggregateQuery
aggregate(
    @NonNullAggregateField aggregateField,
    @NonNull AggregateField[] aggregateFields
)

Calculates the specified aggregations over the documents in the result set of the given query without actually downloading the documents.

@NonNullAggregateQuery

Returns a query that counts the documents in the result set of this query.

@NonNullQuery
endAt(Object[] fieldValues)

Creates and returns a new Query that ends at the provided fields relative to the order of the query.

@NonNullQuery

Creates and returns a new Query that ends at the provided document (inclusive).

@NonNullQuery
endBefore(Object[] fieldValues)

Creates and returns a new Query that ends before the provided fields relative to the order of the query.

@NonNullQuery

Creates and returns a new Query that ends before the provided document (exclusive).

boolean
@NonNullTask<QuerySnapshot>
get()

Executes the query and returns the results as a QuerySnapshot.

@NonNullTask<QuerySnapshot>
get(@NonNullSource source)

Executes the query and returns the results as a QuerySnapshot.

@NonNullFirebaseFirestore

Gets the Cloud Firestore instance associated with this query.

int
@NonNullQuery
limit(long limit)

Creates and returns a new Query that only returns the first matching documents up to the specified number.

@NonNullQuery
limitToLast(long limit)

Creates and returns a new Query that only returns the last matching documents up to the specified number.

@NonNullQuery

Creates and returns a new Query that's additionally sorted by the specified field.

@NonNullQuery

Creates and returns a new Query that's additionally sorted by the specified field.

@NonNullQuery

Creates and returns a new Query that's additionally sorted by the specified field, optionally in descending order instead of ascending.

@NonNullQuery

Creates and returns a new Query that's additionally sorted by the specified field, optionally in descending order instead of ascending.

@NonNullQuery
startAfter(Object[] fieldValues)

Creates and returns a new Query that starts after the provided fields relative to the order of the query.

@NonNullQuery

Creates and returns a new Query that starts after the provided document (exclusive).

@NonNullQuery
startAt(Object[] fieldValues)

Creates and returns a new Query that starts at the provided fields relative to the order of the query.

@NonNullQuery

Creates and returns a new Query that starts at the provided document (inclusive).

@NonNullQuery

Creates and returns a new Query with the additional filter.

@NonNullQuery

Creates and returns a new Query with the additional filter that documents must contain the specified field, the value must be an array, and that the array must contain the provided value.

@NonNullQuery

Creates and returns a new Query with the additional filter that documents must contain the specified field, the value must be an array, and that the array must contain the provided value.

@NonNullQuery

Creates and returns a new Query with the additional filter that documents must contain the specified field, the value must be an array, and that the array must contain at least one value from the provided list.

@NonNullQuery
whereArrayContainsAny(
    @NonNullFieldPath fieldPath,
    @NonNullList<Object> values
)

Creates and returns a new Query with the additional filter that documents must contain the specified field, the value must be an array, and that the array must contain at least one value from the provided list.

@NonNullQuery

Creates and returns a new Query with the additional filter that documents must contain the specified field and the value should be equal to the specified value.

@NonNullQuery

Creates and returns a new Query with the additional filter that documents must contain the specified field and the value should be equal to the specified value.

@NonNullQuery

Creates and returns a new Query with the additional filter that documents must contain the specified field and the value should be greater than the specified value.

@NonNullQuery

Creates and returns a new Query with the additional filter that documents must contain the specified field and the value should be greater than the specified value.

@NonNullQuery

Creates and returns a new Query with the additional filter that documents must contain the specified field and the value should be greater than or equal to the specified value.

@NonNullQuery
whereGreaterThanOrEqualTo(
    @NonNullFieldPath fieldPath,
    @NonNullObject value
)

Creates and returns a new Query with the additional filter that documents must contain the specified field and the value should be greater than or equal to the specified value.

@NonNullQuery

Creates and returns a new Query with the additional filter that documents must contain the specified field and the value must equal one of the values from the provided list.

@NonNullQuery
whereIn(@NonNullFieldPath fieldPath, @NonNullList<Object> values)

Creates and returns a new Query with the additional filter that documents must contain the specified field and the value must equal one of the values from the provided list.

@NonNullQuery

Creates and returns a new Query with the additional filter that documents must contain the specified field and the value should be less than the specified value.

@NonNullQuery

Creates and returns a new Query with the additional filter that documents must contain the specified field and the value should be less than the specified value.

@NonNullQuery

Creates and returns a new Query with the additional filter that documents must contain the specified field and the value should be less than or equal to the specified value.

@NonNullQuery

Creates and returns a new Query with the additional filter that documents must contain the specified field and the value should be less than or equal to the specified value.

@NonNullQuery

Creates and returns a new Query with the additional filter that documents must contain the specified field and the value does not equal the specified value.

@NonNullQuery

Creates and returns a new Query with the additional filter that documents must contain the specified field and the value does not equal the specified value.

@NonNullQuery

Creates and returns a new Query with the additional filter that documents must contain the specified field and the value does not equal any of the values from the provided list.

@NonNullQuery

Creates and returns a new Query with the additional filter that documents must contain the specified field and the value does not equal any of the values from the provided list.

Extension functions

final @NonNullFlow<@NonNullList<@NonNull T>>
<T extends Object> FirestoreKt.dataObjects(
    @NonNullQuery receiver,
    @NonNullMetadataChanges metadataChanges
)

Starts listening to this query with the given options and emits its values converted to a POJO via a Flow.

final @NonNullFlow<@NonNullList<@NonNull T>>
<T extends Object> FirestoreKt.dataObjects(
    @NonNullQuery receiver,
    @NonNullMetadataChanges metadataChanges
)

This method is deprecated. Migrate to use the KTX API from the main module: https://firebase.google.com/docs/android/kotlin-migration.

final @NonNullFlow<@NonNullQuerySnapshot>
FirestoreKt.snapshots(
    @NonNullQuery receiver,
    @NonNullMetadataChanges metadataChanges
)

Starts listening to this query with the given options and emits its values via a Flow.

final @NonNullFlow<@NonNullQuerySnapshot>
FirestoreKt.snapshots(
    @NonNullQuery receiver,
    @NonNullMetadataChanges metadataChanges
)

This method is deprecated. Migrate to use the KTX API from the main module: https://firebase.google.com/docs/android/kotlin-migration.

Public fields

firestore

public final FirebaseFirestore firestore

Public methods

addSnapshotListener

public @NonNullListenerRegistration addSnapshotListener(@NonNullEventListener<QuerySnapshot> listener)

Starts listening to this query.

Parameters
@NonNullEventListener<QuerySnapshot> listener

The event listener that will be called with the snapshots.

Returns
@NonNullListenerRegistration

A registration object that can be used to remove the listener.

addSnapshotListener

public @NonNullListenerRegistration addSnapshotListener(
    @NonNullActivity activity,
    @NonNullEventListener<QuerySnapshot> listener
)

Starts listening to this query using an Activity-scoped listener.

The listener will be automatically removed during onStop.

Parameters
@NonNullActivity activity

The activity to scope the listener to.

@NonNullEventListener<QuerySnapshot> listener

The event listener that will be called with the snapshots.

Returns
@NonNullListenerRegistration

A registration object that can be used to remove the listener.

addSnapshotListener

public @NonNullListenerRegistration addSnapshotListener(
    @NonNullExecutor executor,
    @NonNullEventListener<QuerySnapshot> listener
)

Starts listening to this query.

Parameters
@NonNullExecutor executor

The executor to use to call the listener.

@NonNullEventListener<QuerySnapshot> listener

The event listener that will be called with the snapshots.

Returns
@NonNullListenerRegistration

A registration object that can be used to remove the listener.

addSnapshotListener

public @NonNullListenerRegistration addSnapshotListener(
    @NonNullMetadataChanges metadataChanges,
    @NonNullEventListener<QuerySnapshot> listener
)

Starts listening to this query with the given options.

Parameters
@NonNullMetadataChanges metadataChanges

Indicates whether metadata-only changes (specifically, only QuerySnapshot.getMetadata() changed) should trigger snapshot events.

@NonNullEventListener<QuerySnapshot> listener

The event listener that will be called with the snapshots.

Returns
@NonNullListenerRegistration

A registration object that can be used to remove the listener.

addSnapshotListener

public @NonNullListenerRegistration addSnapshotListener(
    @NonNullSnapshotListenOptions options,
    @NonNullEventListener<QuerySnapshot> listener
)

Starts listening to this query with the given options.

Parameters
@NonNullSnapshotListenOptions options

Sets snapshot listener options, including whether metadata-only changes should trigger snapshot events, the source to listen to, the executor to use to call the listener, or the activity to scope the listener to.

@NonNullEventListener<QuerySnapshot> listener

The event listener that will be called with the snapshots.

Returns
@NonNullListenerRegistration

A registration object that can be used to remove the listener.

addSnapshotListener

public @NonNullListenerRegistration addSnapshotListener(
    @NonNullActivity activity,
    @NonNullMetadataChanges metadataChanges,
    @NonNullEventListener<QuerySnapshot> listener
)

Starts listening to this query with the given options, using an Activity-scoped listener.

The listener will be automatically removed during onStop.

Parameters
@NonNullActivity activity

The activity to scope the listener to.

@NonNullMetadataChanges metadataChanges

Indicates whether metadata-only changes (specifically, only QuerySnapshot.getMetadata() changed) should trigger snapshot events.

@NonNullEventListener<QuerySnapshot> listener

The event listener that will be called with the snapshots.

Returns
@NonNullListenerRegistration

A registration object that can be used to remove the listener.

addSnapshotListener

public @NonNullListenerRegistration addSnapshotListener(
    @NonNullExecutor executor,
    @NonNullMetadataChanges metadataChanges,
    @NonNullEventListener<QuerySnapshot> listener
)

Starts listening to this query with the given options.

Parameters
@NonNullExecutor executor

The executor to use to call the listener.

@NonNullMetadataChanges metadataChanges

Indicates whether metadata-only changes (specifically, only QuerySnapshot.getMetadata() changed) should trigger snapshot events.

@NonNullEventListener<QuerySnapshot> listener

The event listener that will be called with the snapshots.

Returns
@NonNullListenerRegistration

A registration object that can be used to remove the listener.

aggregate

public @NonNullAggregateQuery aggregate(
    @NonNullAggregateField aggregateField,
    @NonNull AggregateField[] aggregateFields
)

Calculates the specified aggregations over the documents in the result set of the given query without actually downloading the documents.

Using the returned query to perform aggregations is efficient because only the final aggregation values, not the documents' data, is downloaded. The returned query can perform aggregations of the documents in cases where the result set is prohibitively large to download entirely (thousands of documents).

Returns
@NonNullAggregateQuery

The AggregateQuery that performs aggregations on the documents in the result set of this query.

count

public @NonNullAggregateQuery count()

Returns a query that counts the documents in the result set of this query.

The returned query, when executed, counts the documents in the result set of this query without actually downloading the documents.

Using the returned query to count the documents is efficient because only the final count, not the documents' data, is downloaded. The returned query can count the documents in cases where the result set is prohibitively large to download entirely (thousands of documents).

Returns
@NonNullAggregateQuery

The AggregateQuery that counts the documents in the result set of this query.

endAt

public @NonNullQuery endAt(Object[] fieldValues)

Creates and returns a new Query that ends at the provided fields relative to the order of the query. The order of the field values must match the order of the order by clauses of the query.

Parameters
Object[] fieldValues

The field values to end this query at, in order of the query's order by.

Returns
@NonNullQuery

The created Query.

endAt

public @NonNullQuery endAt(@NonNullDocumentSnapshot snapshot)

Creates and returns a new Query that ends at the provided document (inclusive). The end position is relative to the order of the query. The document must contain all of the fields provided in the orderBy of this query.

Parameters
@NonNullDocumentSnapshot snapshot

The snapshot of the document to end at.

Returns
@NonNullQuery

The created Query.

endBefore

public @NonNullQuery endBefore(Object[] fieldValues)

Creates and returns a new Query that ends before the provided fields relative to the order of the query. The order of the field values must match the order of the order by clauses of the query.

Parameters
Object[] fieldValues

The field values to end this query before, in order of the query's order by.

Returns
@NonNullQuery

The created Query.

endBefore

public @NonNullQuery endBefore(@NonNullDocumentSnapshot snapshot)

Creates and returns a new Query that ends before the provided document (exclusive). The end position is relative to the order of the query. The document must contain all of the fields provided in the orderBy of this query.

Parameters
@NonNullDocumentSnapshot snapshot

The snapshot of the document to end before.

Returns
@NonNullQuery

The created Query.

equals

public boolean equals(Object o)

get

public @NonNullTask<QuerySnapshotget()

Executes the query and returns the results as a QuerySnapshot.

Returns
@NonNullTask<QuerySnapshot>

A Task that will be resolved with the results of the Query.

get

public @NonNullTask<QuerySnapshotget(@NonNullSource source)

Executes the query and returns the results as a QuerySnapshot.

By default, get() attempts to provide up-to-date data when possible by waiting for data from the server, but it may return cached data or fail if you are offline and the server cannot be reached. This behavior can be altered via the Source parameter.

Parameters
@NonNullSource source

A value to configure the get behavior.

Returns
@NonNullTask<QuerySnapshot>

A Task that will be resolved with the results of the Query.

getFirestore

public @NonNullFirebaseFirestore getFirestore()

Gets the Cloud Firestore instance associated with this query.

hashCode

public int hashCode()

limit

public @NonNullQuery limit(long limit)

Creates and returns a new Query that only returns the first matching documents up to the specified number.

Parameters
long limit

The maximum number of items to return.

Returns
@NonNullQuery

The created Query.

limitToLast

public @NonNullQuery limitToLast(long limit)

Creates and returns a new Query that only returns the last matching documents up to the specified number.

You must specify at least one orderBy clause for limitToLast queries, otherwise an exception will be thrown during execution.

Parameters
long limit

The maximum number of items to return.

Returns
@NonNullQuery

The created Query.

orderBy

public @NonNullQuery orderBy(@NonNullString field)

Creates and returns a new Query that's additionally sorted by the specified field.

Parameters
@NonNullString field

The field to sort by.

Returns
@NonNullQuery

The created Query.

orderBy

public @NonNullQuery orderBy(@NonNullFieldPath fieldPath)

Creates and returns a new Query that's additionally sorted by the specified field.

Parameters
@NonNullFieldPath fieldPath

The field to sort by.

Returns
@NonNullQuery

The created Query.

orderBy

public @NonNullQuery orderBy(@NonNullString field, @NonNullQuery.Direction direction)

Creates and returns a new Query that's additionally sorted by the specified field, optionally in descending order instead of ascending.

Parameters
@NonNullString field

The field to sort by.

@NonNullQuery.Direction direction

The direction to sort.

Returns
@NonNullQuery

The created Query.

orderBy

public @NonNullQuery orderBy(@NonNullFieldPath fieldPath, @NonNullQuery.Direction direction)

Creates and returns a new Query that's additionally sorted by the specified field, optionally in descending order instead of ascending.

Parameters
@NonNullFieldPath fieldPath

The field to sort by.

@NonNullQuery.Direction direction

The direction to sort.

Returns
@NonNullQuery

The created Query.

startAfter

public @NonNullQuery startAfter(Object[] fieldValues)

Creates and returns a new Query that starts after the provided fields relative to the order of the query. The order of the field values must match the order of the order by clauses of the query.

Parameters
Object[] fieldValues

The field values to start this query after, in order of the query's order by.

Returns
@NonNullQuery

The created Query.

startAfter

public @NonNullQuery startAfter(@NonNullDocumentSnapshot snapshot)

Creates and returns a new Query that starts after the provided document (exclusive). The starting position is relative to the order of the query. The document must contain all of the fields provided in the orderBy of this query.

Parameters
@NonNullDocumentSnapshot snapshot

The snapshot of the document to start after.

Returns
@NonNullQuery

The created Query.

startAt

public @NonNullQuery startAt(Object[] fieldValues)

Creates and returns a new Query that starts at the provided fields relative to the order of the query. The order of the field values must match the order of the order by clauses of the query.

Parameters
Object[] fieldValues

The field values to start this query at, in order of the query's order by.

Returns
@NonNullQuery

The created Query.

startAt

public @NonNullQuery startAt(@NonNullDocumentSnapshot snapshot)

Creates and returns a new Query that starts at the provided document (inclusive). The starting position is relative to the order of the query. The document must contain all of the fields provided in the orderBy of this query.

Parameters
@NonNullDocumentSnapshot snapshot

The snapshot of the document to start at.

Returns
@NonNullQuery

The created Query.

where

public @NonNullQuery where(@NonNullFilter filter)

Creates and returns a new Query with the additional filter.

Parameters
@NonNullFilter filter

The new filter to apply to the existing query.

Returns
@NonNullQuery

The newly created Query.

whereArrayContains

public @NonNullQuery whereArrayContains(@NonNullString field, @NonNullObject value)

Creates and returns a new Query with the additional filter that documents must contain the specified field, the value must be an array, and that the array must contain the provided value.

A Query can have only one whereArrayContains() filter and it cannot be combined with whereArrayContainsAny().

Parameters
@NonNullString field

The name of the field containing an array to search.

@NonNullObject value

The value that must be contained in the array

Returns
@NonNullQuery

The created Query.

whereArrayContains

public @NonNullQuery whereArrayContains(@NonNullFieldPath fieldPath, @NonNullObject value)

Creates and returns a new Query with the additional filter that documents must contain the specified field, the value must be an array, and that the array must contain the provided value.

A Query can have only one whereArrayContains() filter and it cannot be combined with whereArrayContainsAny().

Parameters
@NonNullFieldPath fieldPath

The path of the field containing an array to search.

@NonNullObject value

The value that must be contained in the array

Returns
@NonNullQuery

The created Query.

whereArrayContainsAny

public @NonNullQuery whereArrayContainsAny(@NonNullString field, @NonNullList<Object> values)

Creates and returns a new Query with the additional filter that documents must contain the specified field, the value must be an array, and that the array must contain at least one value from the provided list.

A Query can have only one whereArrayContainsAny() filter and it cannot be combined with whereArrayContains() or whereIn().

Parameters
@NonNullString field

The name of the field containing an array to search.

@NonNullList<Object> values

The list that contains the values to match.

Returns
@NonNullQuery

The created Query.

whereArrayContainsAny

public @NonNullQuery whereArrayContainsAny(
    @NonNullFieldPath fieldPath,
    @NonNullList<Object> values
)

Creates and returns a new Query with the additional filter that documents must contain the specified field, the value must be an array, and that the array must contain at least one value from the provided list.

A Query can have only one whereArrayContainsAny() filter and it cannot be combined with whereArrayContains() or whereIn().

Parameters
@NonNullFieldPath fieldPath

The path of the field containing an array to search.

@NonNullList<Object> values

The list that contains the values to match.

Returns
@NonNullQuery

The created Query.

whereEqualTo

public @NonNullQuery whereEqualTo(@NonNullString field, @NullableObject value)

Creates and returns a new Query with the additional filter that documents must contain the specified field and the value should be equal to the specified value.

Parameters
@NonNullString field

The name of the field to compare

@NullableObject value

The value for comparison

Returns
@NonNullQuery

The created Query.

whereEqualTo

public @NonNullQuery whereEqualTo(@NonNullFieldPath fieldPath, @NullableObject value)

Creates and returns a new Query with the additional filter that documents must contain the specified field and the value should be equal to the specified value.

Parameters
@NonNullFieldPath fieldPath

The path of the field to compare

@NullableObject value

The value for comparison

Returns
@NonNullQuery

The created Query.

whereGreaterThan

public @NonNullQuery whereGreaterThan(@NonNullString field, @NonNullObject value)

Creates and returns a new Query with the additional filter that documents must contain the specified field and the value should be greater than the specified value.

Parameters
@NonNullString field

The name of the field to compare

@NonNullObject value

The value for comparison

Returns
@NonNullQuery

The created Query.

whereGreaterThan

public @NonNullQuery whereGreaterThan(@NonNullFieldPath fieldPath, @NonNullObject value)

Creates and returns a new Query with the additional filter that documents must contain the specified field and the value should be greater than the specified value.

Parameters
@NonNullFieldPath fieldPath

The path of the field to compare

@NonNullObject value

The value for comparison

Returns
@NonNullQuery

The created Query.

whereGreaterThanOrEqualTo

public @NonNullQuery whereGreaterThanOrEqualTo(@NonNullString field, @NonNullObject value)

Creates and returns a new Query with the additional filter that documents must contain the specified field and the value should be greater than or equal to the specified value.

Parameters
@NonNullString field

The name of the field to compare

@NonNullObject value

The value for comparison

Returns
@NonNullQuery

The created Query.

whereGreaterThanOrEqualTo

public @NonNullQuery whereGreaterThanOrEqualTo(
    @NonNullFieldPath fieldPath,
    @NonNullObject value
)

Creates and returns a new Query with the additional filter that documents must contain the specified field and the value should be greater than or equal to the specified value.

Parameters
@NonNullFieldPath fieldPath

The path of the field to compare

@NonNullObject value

The value for comparison

Returns
@NonNullQuery

The created Query.

whereIn

public @NonNullQuery whereIn(@NonNullString field, @NonNullList<Object> values)

Creates and returns a new Query with the additional filter that documents must contain the specified field and the value must equal one of the values from the provided list.

A Query can have only one whereIn() filter, and it cannot be combined with whereArrayContainsAny().

Parameters
@NonNullString field

The name of the field to search.

@NonNullList<Object> values

The list that contains the values to match.

Returns
@NonNullQuery

The created Query.

whereIn

public @NonNullQuery whereIn(@NonNullFieldPath fieldPath, @NonNullList<Object> values)

Creates and returns a new Query with the additional filter that documents must contain the specified field and the value must equal one of the values from the provided list.

A Query can have only one whereIn() filter, and it cannot be combined with whereArrayContainsAny().

Parameters
@NonNullFieldPath fieldPath

The path of the field to search.

@NonNullList<Object> values

The list that contains the values to match.

Returns
@NonNullQuery

The created Query.

whereLessThan

public @NonNullQuery whereLessThan(@NonNullString field, @NonNullObject value)

Creates and returns a new Query with the additional filter that documents must contain the specified field and the value should be less than the specified value.

Parameters
@NonNullString field

The name of the field to compare

@NonNullObject value

The value for comparison

Returns
@NonNullQuery

The created Query.

whereLessThan

public @NonNullQuery whereLessThan(@NonNullFieldPath fieldPath, @NonNullObject value)

Creates and returns a new Query with the additional filter that documents must contain the specified field and the value should be less than the specified value.

Parameters
@NonNullFieldPath fieldPath

The path of the field to compare

@NonNullObject value

The value for comparison

Returns
@NonNullQuery

The created Query.

whereLessThanOrEqualTo

public @NonNullQuery whereLessThanOrEqualTo(@NonNullString field, @NonNullObject value)

Creates and returns a new Query with the additional filter that documents must contain the specified field and the value should be less than or equal to the specified value.

Parameters
@NonNullString field

The name of the field to compare

@NonNullObject value

The value for comparison

Returns
@NonNullQuery

The created Query.

whereLessThanOrEqualTo

public @NonNullQuery whereLessThanOrEqualTo(@NonNullFieldPath fieldPath, @NonNullObject value)

Creates and returns a new Query with the additional filter that documents must contain the specified field and the value should be less than or equal to the specified value.

Parameters
@NonNullFieldPath fieldPath

The path of the field to compare

@NonNullObject value

The value for comparison

Returns
@NonNullQuery

The created Query.

whereNotEqualTo

public @NonNullQuery whereNotEqualTo(@NonNullString field, @NullableObject value)

Creates and returns a new Query with the additional filter that documents must contain the specified field and the value does not equal the specified value.

A Query can have only one whereNotEqualTo() filter, and it cannot be combined with whereNotIn().

Parameters
@NonNullString field

The name of the field to compare

@NullableObject value

The value for comparison

Returns
@NonNullQuery

The created Query.

whereNotEqualTo

public @NonNullQuery whereNotEqualTo(@NonNullFieldPath fieldPath, @NullableObject value)

Creates and returns a new Query with the additional filter that documents must contain the specified field and the value does not equal the specified value.

A Query can have only one whereNotEqualTo() filter, and it cannot be combined with whereNotIn().

Parameters
@NonNullFieldPath fieldPath

The path of the field to compare

@NullableObject value

The value for comparison

Returns
@NonNullQuery

The created Query.

whereNotIn

public @NonNullQuery whereNotIn(@NonNullString field, @NonNullList<Object> values)

Creates and returns a new Query with the additional filter that documents must contain the specified field and the value does not equal any of the values from the provided list.

One special case is that whereNotIn cannot match null values. To query for documents where a field exists and is null, use whereNotEqualTo, which can handle this special case.

A Query can have only one whereNotIn() filter, and it cannot be combined with whereArrayContains(), whereArrayContainsAny(), whereIn(), or whereNotEqualTo().

Parameters
@NonNullString field

The name of the field to search.

@NonNullList<Object> values

The list that contains the values to match.

Returns
@NonNullQuery

The created Query.

whereNotIn

public @NonNullQuery whereNotIn(@NonNullFieldPath fieldPath, @NonNullList<Object> values)

Creates and returns a new Query with the additional filter that documents must contain the specified field and the value does not equal any of the values from the provided list.

One special case is that whereNotIn cannot match null values. To query for documents where a field exists and is null, use whereNotEqualTo, which can handle this special case.

A Query can have only one whereNotIn() filter, and it cannot be combined with whereArrayContains(), whereArrayContainsAny(), whereIn(), or whereNotEqualTo().

Parameters
@NonNullFieldPath fieldPath

The path of the field to search.

@NonNullList<Object> values

The list that contains the values to match.

Returns
@NonNullQuery

The created Query.

Extension functions

FirestoreKt.dataObjects

public final @NonNullFlow<@NonNullList<@NonNull T>> <T extends Object> FirestoreKt.dataObjects(
    @NonNullQuery receiver,
    @NonNullMetadataChanges metadataChanges
)

Starts listening to this query with the given options and emits its values converted to a POJO via a Flow.

  • When the returned flow starts being collected, an EventListener will be attached.

  • When the flow completes, the listener will be removed.

Parameters
<T extends Object>

The type of the object to convert to.

@NonNullMetadataChanges metadataChanges

controls metadata-only changes. Default: MetadataChanges.EXCLUDE

FirestoreKt.dataObjects

public final @NonNullFlow<@NonNullList<@NonNull T>> <T extends Object> FirestoreKt.dataObjects(
    @NonNullQuery receiver,
    @NonNullMetadataChanges metadataChanges
)

Starts listening to this query with the given options and emits its values converted to a POJO via a Flow.

  • When the returned flow starts being collected, an EventListener will be attached.

  • When the flow completes, the listener will be removed.

Deprecation Notice: The Kotlin extensions (KTX) APIs have been added to their respective main modules, and the Kotlin extension (KTX) APIs in com.google.firebase.firebase-database-ktx are now deprecated. As early as April 2024, we'll no longer release KTX modules. For details, see the FAQ about this initiative.

Parameters
<T extends Object>

The type of the object to convert to.

@NonNullMetadataChanges metadataChanges

controls metadata-only changes. Default: MetadataChanges.EXCLUDE

FirestoreKt.snapshots

public final @NonNullFlow<@NonNullQuerySnapshotFirestoreKt.snapshots(
    @NonNullQuery receiver,
    @NonNullMetadataChanges metadataChanges
)

Starts listening to this query with the given options and emits its values via a Flow.

  • When the returned flow starts being collected, an EventListener will be attached.

  • When the flow completes, the listener will be removed.

Parameters
@NonNullMetadataChanges metadataChanges

controls metadata-only changes. Default: MetadataChanges.EXCLUDE

FirestoreKt.snapshots

public final @NonNullFlow<@NonNullQuerySnapshotFirestoreKt.snapshots(
    @NonNullQuery receiver,
    @NonNullMetadataChanges metadataChanges
)

Starts listening to this query with the given options and emits its values via a Flow.

  • When the returned flow starts being collected, an EventListener will be attached.

  • When the flow completes, the listener will be removed.

Deprecation Notice: The Kotlin extensions (KTX) APIs have been added to their respective main modules, and the Kotlin extension (KTX) APIs in com.google.firebase.firebase-database-ktx are now deprecated. As early as April 2024, we'll no longer release KTX modules. For details, see the FAQ about this initiative.

Parameters
@NonNullMetadataChanges metadataChanges

controls metadata-only changes. Default: MetadataChanges.EXCLUDE