Module base_query (2.10.0)

Classes for representing queries for the Google Cloud Firestore API.

A Query can be created directly from a Collection and that can be a more common way to create a query than direct usage of the constructor.

Classes

BaseCollectionGroup

BaseCollectionGroup(
    parent,
    projection=None,
    field_filters=(),
    orders=(),
    limit=None,
    limit_to_last=False,
    offset=None,
    start_at=None,
    end_at=None,
    all_descendants=True,
    recursive=False,
)

Represents a Collection Group in the Firestore API.

This is a specialization of .Query that includes all documents in the database that are contained in a collection or subcollection of the given parent.

Parameter
NameDescription
parent CollectionReference

The collection that this query applies to.

BaseQuery

BaseQuery(
    parent,
    projection=None,
    field_filters=(),
    orders=(),
    limit=None,
    limit_to_last=False,
    offset=None,
    start_at=None,
    end_at=None,
    all_descendants=False,
    recursive=False,
)

Represents a query to the Firestore API.

Instances of this class are considered immutable: all methods that would modify an instance instead return a new instance.

Parameters
NameDescription
parent CollectionReference

The collection that this query applies to.

projection Optional[Projection]

A projection of document fields to limit the query results to.

field_filters Optional[Tuple[FieldFilter, ...]]

The filters to be applied in the query.

orders Optional[Tuple[Order, ...]]

The "order by" entries to use in the query.

limit Optional[int]

The maximum number of documents the query is allowed to return.

limit_to_last Optional[bool]

Denotes whether a provided limit is applied to the end of the result set.

offset Optional[int]

The number of results to skip.

start_at Optional[Tuple[dict, bool]]

Two-tuple of : * a mapping of fields. Any field that is present in this mapping must also be present in orders * an after flag The fields and the flag combine to form a cursor used as a starting point in a query result set. If the after flag is :data:True, the results will start just after any documents which have fields matching the cursor, otherwise any matching documents will be included in the result set. When the query is formed, the document values will be used in the order given by orders.

end_at Optional[Tuple[dict, bool]]

Two-tuple of: * a mapping of fields. Any field that is present in this mapping must also be present in orders * a before flag The fields and the flag combine to form a cursor used as an ending point in a query result set. If the before flag is :data:True, the results will end just before any documents which have fields matching the cursor, otherwise any matching documents will be included in the result set. When the query is formed, the document values will be used in the order given by orders.

all_descendants Optional[bool]

When false, selects only collections that are immediate children of the parent specified in the containing RunQueryRequest. When true, selects all descendant collections.

recursive Optional[bool]

When true, returns all documents and all documents in any subcollections below them. Defaults to false.

QueryPartition

QueryPartition(query, start_at, end_at)

Represents a bounded partition of a collection group query.

Contains cursors that can be used in a query as a starting and/or end point for the collection group query. The cursors may only be used in a query that matches the constraints of the query that produced this partition.

Parameters
NameDescription
query BaseQuery

The original query that this is a partition of.

start_at Optional[DocumentSnapshot]

Cursor for first query result to include. If None, the partition starts at the beginning of the result set.

end_at Optional[DocumentSnapshot]

Cursor for first query result after the last result included in the partition. If None, the partition runs to the end of the result set.