Class: Google::Apis::FirestoreV1beta1::StructuredQuery

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
generated/google/apis/firestore_v1beta1/classes.rb,
generated/google/apis/firestore_v1beta1/representations.rb,
generated/google/apis/firestore_v1beta1/representations.rb

Overview

A Firestore query.

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Core::JsonObjectSupport

#to_json

Methods included from Core::Hashable

process_value, #to_h

Constructor Details

#initialize(**args) ⇒ StructuredQuery

Returns a new instance of StructuredQuery.



1759
1760
1761
# File 'generated/google/apis/firestore_v1beta1/classes.rb', line 1759

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#end_atGoogle::Apis::FirestoreV1beta1::Cursor

A position in a query result set. Corresponds to the JSON property endAt



1705
1706
1707
# File 'generated/google/apis/firestore_v1beta1/classes.rb', line 1705

def end_at
  @end_at
end

#fromArray<Google::Apis::FirestoreV1beta1::CollectionSelector>

The collections to query. Corresponds to the JSON property from



1710
1711
1712
# File 'generated/google/apis/firestore_v1beta1/classes.rb', line 1710

def from
  @from
end

#limitFixnum

The maximum number of results to return. Applies after all other constraints. Must be >= 0 if specified. Corresponds to the JSON property limit

Returns:

  • (Fixnum)


1717
1718
1719
# File 'generated/google/apis/firestore_v1beta1/classes.rb', line 1717

def limit
  @limit
end

#offsetFixnum

The number of results to skip. Applies before limit, but after all other constraints. Must be >= 0 if specified. Corresponds to the JSON property offset

Returns:

  • (Fixnum)


1724
1725
1726
# File 'generated/google/apis/firestore_v1beta1/classes.rb', line 1724

def offset
  @offset
end

#order_byArray<Google::Apis::FirestoreV1beta1::Order>

The order to apply to the query results. Firestore guarantees a stable ordering through the following rules:

  • Any field required to appear in order_by, that is not already specified in order_by, is appended to the order in field name order by default.
  • 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:
  • SELECT * FROM Foo ORDER BY A becomes SELECT * FROM Foo ORDER BY A, __name__
  • SELECT * FROM Foo ORDER BY A DESC becomes SELECT * FROM Foo ORDER BY A DESC, __name__ DESC
  • SELECT * FROM Foo WHERE A > 1 becomes SELECT * FROM Foo WHERE A > 1 ORDER BY A, __name__ Corresponds to the JSON property orderBy


1742
1743
1744
# File 'generated/google/apis/firestore_v1beta1/classes.rb', line 1742

def order_by
  @order_by
end

#selectGoogle::Apis::FirestoreV1beta1::Projection

The projection of document's fields to return. Corresponds to the JSON property select



1747
1748
1749
# File 'generated/google/apis/firestore_v1beta1/classes.rb', line 1747

def select
  @select
end

#start_atGoogle::Apis::FirestoreV1beta1::Cursor

A position in a query result set. Corresponds to the JSON property startAt



1752
1753
1754
# File 'generated/google/apis/firestore_v1beta1/classes.rb', line 1752

def start_at
  @start_at
end

#whereGoogle::Apis::FirestoreV1beta1::Filter

A filter. Corresponds to the JSON property where



1757
1758
1759
# File 'generated/google/apis/firestore_v1beta1/classes.rb', line 1757

def where
  @where
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
# File 'generated/google/apis/firestore_v1beta1/classes.rb', line 1764

def update!(**args)
  @end_at = args[:end_at] if args.key?(:end_at)
  @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