Class: Google::Apis::FirestoreV1::GoogleFirestoreAdminV1Index

Inherits:
Object
  • Object
show all
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

Instance Method Summary collapse

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_scopeString

The API scope supported by this index. Corresponds to the JSON property apiScope

Returns:

  • (String)


2578
2579
2580
# File 'lib/google/apis/firestore_v1/classes.rb', line 2578

def api_scope
  @api_scope
end

#densityString

Immutable. The density configuration of the index. Corresponds to the JSON property density

Returns:

  • (String)


2583
2584
2585
# File 'lib/google/apis/firestore_v1/classes.rb', line 2583

def density
  @density
end

#fieldsArray<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

#multikeyBoolean 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

Returns:

  • (Boolean)


2604
2605
2606
# File 'lib/google/apis/firestore_v1/classes.rb', line 2604

def multikey
  @multikey
end

#nameString

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`

Returns:

  • (String)


2614
2615
2616
# File 'lib/google/apis/firestore_v1/classes.rb', line 2614

def name
  @name
end

#query_scopeString

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

Returns:

  • (String)


2624
2625
2626
# File 'lib/google/apis/firestore_v1/classes.rb', line 2624

def query_scope
  @query_scope
end

#search_index_optionsGoogle::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
  @search_index_options
end

#shard_countFixnum

Optional. The number of shards for the index. Corresponds to the JSON property shardCount

Returns:

  • (Fixnum)


2634
2635
2636
# File 'lib/google/apis/firestore_v1/classes.rb', line 2634

def shard_count
  @shard_count
end

#stateString

Output only. The serving state of the index. Corresponds to the JSON property state

Returns:

  • (String)


2639
2640
2641
# File 'lib/google/apis/firestore_v1/classes.rb', line 2639

def state
  @state
end

#uniqueBoolean 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

Returns:

  • (Boolean)


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