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.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ GoogleFirestoreAdminV1Index

Returns a new instance of GoogleFirestoreAdminV1Index.



2487
2488
2489
# File 'lib/google/apis/firestore_v1/classes.rb', line 2487

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)


2422
2423
2424
# File 'lib/google/apis/firestore_v1/classes.rb', line 2422

def api_scope
  @api_scope
end

#densityString

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

Returns:

  • (String)


2427
2428
2429
# File 'lib/google/apis/firestore_v1/classes.rb', line 2427

def density
  @density
end

#fieldsArray<Google::Apis::FirestoreV1::GoogleFirestoreAdminV1IndexField>

The fields supported by this index. For composite indexes, this requires a minimum of 2 and a maximum of 100 fields. 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 a composite index is not directional, the __name__ will be ordered ASCENDING (unless explicitly specified). For single field indexes, this will always be exactly one entry with a field path equal to the field path of the associated field. Corresponds to the JSON property fields



2439
2440
2441
# File 'lib/google/apis/firestore_v1/classes.rb', line 2439

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)


2449
2450
2451
# File 'lib/google/apis/firestore_v1/classes.rb', line 2449

def multikey
  @multikey
end

#nameString

Output only. A server defined name for this index. The form of this name for composite indexes will be: projects/project_id/databases/database_id/ collectionGroups/collection_id/indexes/composite_index_id`For single field indexes, this field will be empty. Corresponds to the JSON propertyname`

Returns:

  • (String)


2458
2459
2460
# File 'lib/google/apis/firestore_v1/classes.rb', line 2458

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)


2468
2469
2470
# File 'lib/google/apis/firestore_v1/classes.rb', line 2468

def query_scope
  @query_scope
end

#shard_countFixnum

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

Returns:

  • (Fixnum)


2473
2474
2475
# File 'lib/google/apis/firestore_v1/classes.rb', line 2473

def shard_count
  @shard_count
end

#stateString

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

Returns:

  • (String)


2478
2479
2480
# File 'lib/google/apis/firestore_v1/classes.rb', line 2478

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)


2484
2485
2486
# File 'lib/google/apis/firestore_v1/classes.rb', line 2484

def unique
  @unique
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
# File 'lib/google/apis/firestore_v1/classes.rb', line 2492

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)
  @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