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
parent
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 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.
Methods
count
count
(
alias
:
str
|
None
=
None
)
Adds a count over the query.
alias
str
(Optional) The alias for the count
get
get
(
transaction
=
None
,
retry
:
google
.
api_core
.
retry
.
Retry
=
< _MethodDefault
.
_DEFAULT_VALUE
:
< object
object
>> ,
timeout
:
Optional
[
float
]
=
None
)
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.
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.
list
on_snapshot
on_snapshot
(
callback
:
Callable
)
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.
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
=
None
,
retry
:
google
.
api_core
.
retry
.
Retry
=
< _MethodDefault
.
_DEFAULT_VALUE
:
< object
object
>> ,
timeout
:
Optional
[
float
]
=
None
)
Read the documents in the collection that match this query.
This sends a RunQuery
RPC and then returns an iterator which
consumes each document returned in the stream of RunQueryResponse
messages.
retry
google.api_core.retry.Retry
Designation of what errors, if any, should be retried. Defaults to a system-specified policy.
timeout
float :Yields: DocumentSnapshot
-- The next document that fulfills the query.
The timeout for this request. Defaults to a system-specified value.

