Class: Google::Apis::FirestoreV1beta1::StructuredQuery
- Inherits:
-
Object
- Object
- Google::Apis::FirestoreV1beta1::StructuredQuery
- Includes:
- Core::Hashable, Core::JsonObjectSupport
- Defined in:
- lib/google/apis/firestore_v1beta1/classes.rb,
lib/google/apis/firestore_v1beta1/representations.rb,
lib/google/apis/firestore_v1beta1/representations.rb more...
Overview
A Firestore query. The query stages are executed in the following order: 1. from 2. where 3. select 4. order_by + start_at + end_at 5. offset 6. limit 7. find_nearest
Instance Attribute Summary collapse
-
#end_at ⇒ Google::Apis::FirestoreV1beta1::Cursor
A position in a query result set.
-
#find_nearest ⇒ Google::Apis::FirestoreV1beta1::FindNearest
Nearest Neighbors search config.
-
#from ⇒ Array<Google::Apis::FirestoreV1beta1::CollectionSelector>
The collections to query.
-
#limit ⇒ Fixnum
The maximum number of results to return.
-
#offset ⇒ Fixnum
The number of documents to skip before returning the first result.
-
#order_by ⇒ Array<Google::Apis::FirestoreV1beta1::Order>
The order to apply to the query results.
-
#select ⇒ Google::Apis::FirestoreV1beta1::Projection
The projection of document's fields to return.
-
#start_at ⇒ Google::Apis::FirestoreV1beta1::Cursor
A position in a query result set.
-
#where ⇒ Google::Apis::FirestoreV1beta1::Filter
A filter.
Instance Method Summary collapse
-
#initialize(**args) ⇒ StructuredQuery
constructor
A new instance of StructuredQuery.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ StructuredQuery
Returns a new instance of StructuredQuery.
2624 2625 2626 |
# File 'lib/google/apis/firestore_v1beta1/classes.rb', line 2624 def initialize(**args) update!(**args) end |
Instance Attribute Details
#end_at ⇒ Google::Apis::FirestoreV1beta1::Cursor
A position in a query result set.
Corresponds to the JSON property endAt
2563 2564 2565 |
# File 'lib/google/apis/firestore_v1beta1/classes.rb', line 2563 def end_at @end_at end |
#find_nearest ⇒ Google::Apis::FirestoreV1beta1::FindNearest
Nearest Neighbors search config. The ordering provided by FindNearest
supersedes the order_by stage. If multiple documents have the same vector
distance, the returned document order is not guaranteed to be stable between
queries.
Corresponds to the JSON property findNearest
2571 2572 2573 |
# File 'lib/google/apis/firestore_v1beta1/classes.rb', line 2571 def find_nearest @find_nearest end |
#from ⇒ Array<Google::Apis::FirestoreV1beta1::CollectionSelector>
The collections to query.
Corresponds to the JSON property from
2576 2577 2578 |
# File 'lib/google/apis/firestore_v1beta1/classes.rb', line 2576 def from @from end |
#limit ⇒ Fixnum
The maximum number of results to return. Applies after all other constraints.
Requires: * The value must be greater than or equal to zero if specified.
Corresponds to the JSON property limit
2582 2583 2584 |
# File 'lib/google/apis/firestore_v1beta1/classes.rb', line 2582 def limit @limit end |
#offset ⇒ Fixnum
The number of documents to skip before returning the first result. This
applies after the constraints specified by the WHERE
, START AT
, & END AT
but before the LIMIT
clause. Requires: * The value must be greater than or
equal to zero if specified.
Corresponds to the JSON property offset
2590 2591 2592 |
# File 'lib/google/apis/firestore_v1beta1/classes.rb', line 2590 def offset @offset end |
#order_by ⇒ Array<Google::Apis::FirestoreV1beta1::Order>
The order to apply to the query results. Firestore allows callers to provide a
full ordering, a partial ordering, or no ordering at all. In all cases,
Firestore guarantees a stable ordering through the following rules: * The
order_by
is required to reference all fields used with an inequality filter. *
All fields that are required to be in the order_by
but are not already
present are appended in lexicographical ordering of the field name. * If an
order on __name__
is not specified, it is appended by default. Fields are
appended with the same sort direction as the last order specified, or '
ASCENDING' if no order was specified. For example: * ORDER BY a
becomes
ORDER BY a ASC, __name__ ASC
* ORDER BY a DESC
becomes ORDER BY a DESC,
__name__ DESC
* WHERE a > 1
becomes WHERE a > 1 ORDER BY a ASC, __name__
ASC
* WHERE __name__ > ... AND a > 1
becomes WHERE __name__ > ... AND a >
1 ORDER BY a ASC, __name__ ASC
Corresponds to the JSON property orderBy
2607 2608 2609 |
# File 'lib/google/apis/firestore_v1beta1/classes.rb', line 2607 def order_by @order_by end |
#select ⇒ Google::Apis::FirestoreV1beta1::Projection
The projection of document's fields to return.
Corresponds to the JSON property select
2612 2613 2614 |
# File 'lib/google/apis/firestore_v1beta1/classes.rb', line 2612 def select @select end |
#start_at ⇒ Google::Apis::FirestoreV1beta1::Cursor
A position in a query result set.
Corresponds to the JSON property startAt
2617 2618 2619 |
# File 'lib/google/apis/firestore_v1beta1/classes.rb', line 2617 def start_at @start_at end |
#where ⇒ Google::Apis::FirestoreV1beta1::Filter
A filter.
Corresponds to the JSON property where
2622 2623 2624 |
# File 'lib/google/apis/firestore_v1beta1/classes.rb', line 2622 def where @where end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 |
# File 'lib/google/apis/firestore_v1beta1/classes.rb', line 2629 def update!(**args) @end_at = args[:end_at] if args.key?(:end_at) @find_nearest = args[:find_nearest] if args.key?(:find_nearest) @from = args[:from] if args.key?(:from) @limit = args[:limit] if args.key?(:limit) @offset = args[:offset] if args.key?(:offset) @order_by = args[:order_by] if args.key?(:order_by) @select = args[:select] if args.key?(:select) @start_at = args[:start_at] if args.key?(:start_at) @where = args[:where] if args.key?(:where) end |