Class: Google::Apis::FirestoreV1::GoogleFirestoreAdminV1Index
- Inherits:
-
Object
- Object
- Google::Apis::FirestoreV1::GoogleFirestoreAdminV1Index
- Includes:
- Core::Hashable, Core::JsonObjectSupport
- Defined in:
- lib/google/apis/firestore_v1/classes.rb,
lib/google/apis/firestore_v1/representations.rb,
lib/google/apis/firestore_v1/representations.rb
Overview
Cloud Firestore indexes enable simple and complex queries against documents in a database. In Standard edition databases, single-field indexes are managed using the google.firestore.admin.v1.Field resource, and composite indexes are managed using the google.firestore.admin.v1.Index resource. In Enterprise edition databases, both single-field and composite indexes are managed using the google.firestore.admin.v1.Index resource.
Instance Attribute Summary collapse
-
#api_scope ⇒ String
The API scope supported by this index.
-
#density ⇒ String
Immutable.
-
#fields ⇒ Array<Google::Apis::FirestoreV1::GoogleFirestoreAdminV1IndexField>
The fields supported by this index.
-
#multikey ⇒ Boolean
(also: #multikey?)
Optional.
-
#name ⇒ String
A server-defined name for this index.
-
#query_scope ⇒ String
Indexes with a collection query scope specified allow queries against a collection that is the child of a specific document, specified at query time, and that has the same collection ID.
-
#search_index_options ⇒ Google::Apis::FirestoreV1::GoogleFirestoreAdminV1SearchIndexOptions
Options for search indexes at the definition level.
-
#shard_count ⇒ Fixnum
Optional.
-
#state ⇒ String
Output only.
-
#unique ⇒ Boolean
(also: #unique?)
Optional.
Instance Method Summary collapse
-
#initialize(**args) ⇒ GoogleFirestoreAdminV1Index
constructor
A new instance of GoogleFirestoreAdminV1Index.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ GoogleFirestoreAdminV1Index
Returns a new instance of GoogleFirestoreAdminV1Index.
2648 2649 2650 |
# File 'lib/google/apis/firestore_v1/classes.rb', line 2648 def initialize(**args) update!(**args) end |
Instance Attribute Details
#api_scope ⇒ String
The API scope supported by this index.
Corresponds to the JSON property apiScope
2578 2579 2580 |
# File 'lib/google/apis/firestore_v1/classes.rb', line 2578 def api_scope @api_scope end |
#density ⇒ String
Immutable. The density configuration of the index.
Corresponds to the JSON property density
2583 2584 2585 |
# File 'lib/google/apis/firestore_v1/classes.rb', line 2583 def density @density end |
#fields ⇒ Array<Google::Apis::FirestoreV1::GoogleFirestoreAdminV1IndexField>
The fields supported by this index. At most 100 fields may be specified. In
Standard edition databases only: - At least 2 fields must be specified. - The
last field entry is always for the field path __name__. If, on creation,
__name__ was not specified as the last field, it will be added automatically
with the same direction as that of the last field defined. If the final field
in the index is not directional, the __name__ will be ordered ASCENDING (
unless explicitly specified).
Corresponds to the JSON property fields
2594 2595 2596 |
# File 'lib/google/apis/firestore_v1/classes.rb', line 2594 def fields @fields end |
#multikey ⇒ Boolean Also known as: multikey?
Optional. Whether the index is multikey. By default, the index is not multikey.
For non-multikey indexes, none of the paths in the index definition reach or
traverse an array, except via an explicit array index. For multikey indexes,
at most one of the paths in the index definition reach or traverse an array,
except via an explicit array index. Violations will result in errors. Note
this field only applies to index with MONGODB_COMPATIBLE_API ApiScope.
Corresponds to the JSON property multikey
2604 2605 2606 |
# File 'lib/google/apis/firestore_v1/classes.rb', line 2604 def multikey @multikey end |
#name ⇒ String
A server-defined name for this index. Output only. When used in the google.
firestore.admin.v1.Index resource, the value is of the form: projects/
project_id/databases/database_id/collectionGroups/collection_id/indexes/
index_id`When used in the google.firestore.admin.v1.Field resource, the
value is empty.
Corresponds to the JSON propertyname`
2614 2615 2616 |
# File 'lib/google/apis/firestore_v1/classes.rb', line 2614 def name @name end |
#query_scope ⇒ String
Indexes with a collection query scope specified allow queries against a
collection that is the child of a specific document, specified at query time,
and that has the same collection ID. Indexes with a collection group query
scope specified allow queries against all collections descended from a
specific document, specified at query time, and that have the same collection
ID as this index.
Corresponds to the JSON property queryScope
2624 2625 2626 |
# File 'lib/google/apis/firestore_v1/classes.rb', line 2624 def query_scope @query_scope end |
#search_index_options ⇒ Google::Apis::FirestoreV1::GoogleFirestoreAdminV1SearchIndexOptions
Options for search indexes at the definition level.
Corresponds to the JSON property searchIndexOptions
2629 2630 2631 |
# File 'lib/google/apis/firestore_v1/classes.rb', line 2629 def @search_index_options end |
#shard_count ⇒ Fixnum
Optional. The number of shards for the index.
Corresponds to the JSON property shardCount
2634 2635 2636 |
# File 'lib/google/apis/firestore_v1/classes.rb', line 2634 def shard_count @shard_count end |
#state ⇒ String
Output only. The serving state of the index.
Corresponds to the JSON property state
2639 2640 2641 |
# File 'lib/google/apis/firestore_v1/classes.rb', line 2639 def state @state end |
#unique ⇒ Boolean Also known as: unique?
Optional. Whether it is an unique index. Unique index ensures all values for
the indexed field(s) are unique across documents.
Corresponds to the JSON property unique
2645 2646 2647 |
# File 'lib/google/apis/firestore_v1/classes.rb', line 2645 def unique @unique end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 |
# File 'lib/google/apis/firestore_v1/classes.rb', line 2653 def update!(**args) @api_scope = args[:api_scope] if args.key?(:api_scope) @density = args[:density] if args.key?(:density) @fields = args[:fields] if args.key?(:fields) @multikey = args[:multikey] if args.key?(:multikey) @name = args[:name] if args.key?(:name) @query_scope = args[:query_scope] if args.key?(:query_scope) @search_index_options = args[:search_index_options] if args.key?(:search_index_options) @shard_count = args[:shard_count] if args.key?(:shard_count) @state = args[:state] if args.key?(:state) @unique = args[:unique] if args.key?(:unique) end |