Query(
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 |
|
---|---|
Name | Description |
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. |
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 |
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 |
all_descendants |
Optional[bool]
When false, selects only collections that are immediate children of the |
Methods
avg
avg(
field_ref: str | FieldPath, alias: str | None = None
) -> Type["firestore_v1.aggregation.AggregationQuery"]
Adds an avg over the query.
Parameters | |
---|---|
Name | Description |
field_ref |
[Union[str, google.cloud.firestore_v1.field_path.FieldPath]
The field to aggregate across. |
alias |
Optional[str]
Optional name of the field to store the result of the aggregation into. If not provided, Firestore will pick a default name following the format field_<incremental_id++>. |
count
count(
alias: typing.Optional[str] = None,
) -> typing.Type[google.cloud.firestore_v1.aggregation.AggregationQuery]
Adds a count over the query.
Parameter | |
---|---|
Name | Description |
alias |
Optional[str]
Optional name of the field to store the result of the aggregation into. If not provided, Firestore will pick a default name following the format field_<incremental_id++>. |
find_nearest
find_nearest(
vector_field: str,
query_vector: google.cloud.firestore_v1.vector.Vector,
limit: int,
distance_measure: google.cloud.firestore_v1.base_vector_query.DistanceMeasure,
*,
distance_result_field: typing.Optional[str] = None,
distance_threshold: typing.Optional[float] = None
) -> typing.Type[google.cloud.firestore_v1.vector_query.VectorQuery]
Finds the closest vector embeddings to the given query vector.
Parameters | |
---|---|
Name | Description |
vector_field |
str
An indexed vector field to search upon. Only documents which contain vectors whose dimensionality match the query_vector can be returned. |
query_vector |
Vector
The query vector that we are searching on. Must be a vector of no more than 2048 dimensions. |
limit |
int
The number of nearest neighbors to return. Must be a positive integer of no more than 1000. |
distance_measure |
The Distance Measure to use. |
distance_result_field |
Optional[str]
Name of the field to output the result of the vector distance calculation. If unset then the distance will not be returned. |
distance_threshold |
Optional[float]
A threshold for which no less similar documents will be returned. |
get
get(
transaction=None,
retry: google.api_core.retry.retry_unary.Retry = _MethodDefault._DEFAULT_VALUE,
timeout: typing.Optional[float] = None,
) -> typing.List[google.cloud.firestore_v1.base_document.DocumentSnapshot]
Read the documents in the collection that match this query.
This sends a RunQuery
RPC and returns a list of documents
returned in the stream of RunQueryResponse
messages.
Parameters | |
---|---|
Name | Description |
retry |
google.api_core.retry.Retry
Designation of what errors, if any, should be retried. Defaults to a system-specified policy. |
timeout |
float
The timeout for this request. Defaults to a system-specified value. |
Returns | |
---|---|
Type | Description |
list |
The documents in the collection that match this query. |
on_snapshot
on_snapshot(callback: typing.Callable) -> google.cloud.firestore_v1.watch.Watch
Monitor the documents in this collection that match this query.
This starts a watch on this query using a background thread. The provided callback is run on the snapshot of the documents.
Parameter | |
---|---|
Name | Description |
callback |
Callable[[QuerySnapshot], NoneType] Example: .. code-block:: python from google.cloud import firestore_v1 db = firestore_v1.Client() query_ref = db.collection(u'users').where("user", "==", u'Ada') def on_snapshot(docs, changes, read_time): for doc in docs: print(u'{} => {}'.format(doc.id, doc.to_dict())) # Watch this query query_watch = query_ref.on_snapshot(on_snapshot) # Terminate this watch query_watch.unsubscribe()
a callback to run when a change occurs. |
stream
stream(
transaction: typing.Optional[
google.cloud.firestore_v1.transaction.Transaction
] = None,
retry: typing.Optional[
google.api_core.retry.retry_unary.Retry
] = _MethodDefault._DEFAULT_VALUE,
timeout: typing.Optional[float] = None,
) -> google.cloud.firestore_v1.stream_generator.StreamGenerator[
google.cloud.firestore_v1.base_document.DocumentSnapshot
]
Read the documents in the collection that match this query.
This sends a RunQuery
RPC and then returns a generator which
consumes each document returned in the stream of RunQueryResponse
messages.
Parameters | |
---|---|
Name | Description |
retry |
Optional[google.api_core.retry.Retry]
Designation of what errors, if any, should be retried. Defaults to a system-specified policy. |
timeout |
Optinal[float]
The timeout for this request. Defaults |
Returns | |
---|---|
Type | Description |
|
A generator of the query results. |
sum
sum(
field_ref: str | FieldPath, alias: str | None = None
) -> Type["firestore_v1.aggregation.AggregationQuery"]
Adds a sum over the query.
Parameters | |
---|---|
Name | Description |
field_ref |
Union[str, google.cloud.firestore_v1.field_path.FieldPath]
The field to aggregate across. |
alias |
Optional[str]
Optional name of the field to store the result of the aggregation into. If not provided, Firestore will pick a default name following the format field_<incremental_id++>. |