Reference documentation and code samples for the Cloud Firestore API module Google::Cloud::Firestore.
Cloud Firestore
Cloud Firestore is a NoSQL document database built for automatic scaling,
high performance, and ease of application development. While the Cloud
Firestore interface has many of the same features as traditional
databases, as a NoSQL database it differs from them in the way it
describes relationships between data objects.
The following Firestore configuration parameters are supported:
project_id- (String) Identifier for a Firestore project. (The
parameterprojectis considered deprecated, but may also be used.)
credentials- (String, Hash, Google::Auth::Credentials) The path to
the keyfile as a String, the contents of the keyfile as a Hash, or a
Google::Auth::Credentials object. (SeeCredentials) (The
parameterkeyfileis considered deprecated, but may also be used.)
scope- (String, Array
quota_project- (String) The project ID for a project that can be
used by client libraries for quota and billing purposes.
timeout- (Integer) Default timeout to use in requests.
endpoint- (String) Override of the endpoint host name, ornilto use the default endpoint.
emulator_host- (String) Host name of the emulator. Defaults toENV["FIRESTORE_EMULATOR_HOST"]
Yields
(Google::Cloud.configure.firestore)
Returns
(Google::Cloud::Config) — The configuration object the
Google::Cloud::Firestore library uses.
project_id(String)(defaults to: nil)— Identifier for a Firestore project. If not
present, the default project for the credentials is used.
credentials(String, Hash, Google::Auth::Credentials)(defaults to: nil)— The path to
the keyfile as a String, the contents of the keyfile as a Hash, or a
Google::Auth::Credentials object. (SeeCredentials)
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-04 UTC."],[],[],null,["# Cloud Firestore API - Module Google::Cloud::Firestore (v3.1.0)\n\nVersion latestkeyboard_arrow_down\n\n- [3.1.0 (latest)](/ruby/docs/reference/google-cloud-firestore/latest/Google-Cloud-Firestore)\n- [3.0.0](/ruby/docs/reference/google-cloud-firestore/3.0.0/Google-Cloud-Firestore)\n- [2.16.1](/ruby/docs/reference/google-cloud-firestore/2.16.1/Google-Cloud-Firestore)\n- [2.15.1](/ruby/docs/reference/google-cloud-firestore/2.15.1/Google-Cloud-Firestore)\n- [2.14.0](/ruby/docs/reference/google-cloud-firestore/2.14.0/Google-Cloud-Firestore)\n- [2.13.1](/ruby/docs/reference/google-cloud-firestore/2.13.1/Google-Cloud-Firestore)\n- [2.12.0](/ruby/docs/reference/google-cloud-firestore/2.12.0/Google-Cloud-Firestore)\n- [2.11.0](/ruby/docs/reference/google-cloud-firestore/2.11.0/Google-Cloud-Firestore)\n- [2.10.1](/ruby/docs/reference/google-cloud-firestore/2.10.1/Google-Cloud-Firestore)\n- [2.9.1](/ruby/docs/reference/google-cloud-firestore/2.9.1/Google-Cloud-Firestore)\n- [2.8.0](/ruby/docs/reference/google-cloud-firestore/2.8.0/Google-Cloud-Firestore)\n- [2.7.2](/ruby/docs/reference/google-cloud-firestore/2.7.2/Google-Cloud-Firestore)\n- [2.6.6](/ruby/docs/reference/google-cloud-firestore/2.6.6/Google-Cloud-Firestore) \nReference documentation and code samples for the Cloud Firestore API module Google::Cloud::Firestore.\n\nCloud Firestore\n---------------\n\nCloud Firestore is a NoSQL document database built for automatic scaling,\nhigh performance, and ease of application development. While the Cloud\nFirestore interface has many of the same features as traditional\ndatabases, as a NoSQL database it differs from them in the way it\ndescribes relationships between data objects.\n\nSee [Firestore Overview](./index.html \"Firestore Overview\").\n\nMethods\n-------\n\n### .configure\n\n def self.configure() -\u003e Google::Cloud::Config\n\nConfigure the Google Cloud Firestore library.\n\nThe following Firestore configuration parameters are supported:\n\n- `project_id` - (String) Identifier for a Firestore project. (The parameter `project` is considered deprecated, but may also be used.)\n- `credentials` - (String, Hash, Google::Auth::Credentials) The path to the keyfile as a String, the contents of the keyfile as a Hash, or a Google::Auth::Credentials object. (See [Credentials](/ruby/docs/reference/google-cloud-firestore/latest/Google-Cloud-Firestore-Credentials \"Google::Cloud::Firestore::Credentials (class)\")) (The parameter `keyfile` is considered deprecated, but may also be used.)\n- `scope` - (String, Array\n- `quota_project` - (String) The project ID for a project that can be used by client libraries for quota and billing purposes.\n- `timeout` - (Integer) Default timeout to use in requests.\n- `endpoint` - (String) Override of the endpoint host name, or `nil` to use the default endpoint.\n- `emulator_host` - (String) Host name of the emulator. Defaults to `ENV[\"FIRESTORE_EMULATOR_HOST\"]` \n**Yields**\n\n- (Google::Cloud.configure.firestore) \n**Returns**\n\n- (Google::Cloud::Config) --- The configuration object the Google::Cloud::Firestore library uses.\n\n### .new\n\n def self.new(project_id: nil, credentials: nil, scope: nil, timeout: nil, endpoint: nil, emulator_host: nil, database_id: nil, transport: nil, project: nil, keyfile: nil) -\u003e Google::Cloud::Firestore::Client\n\nCreates a new object for connecting to the Firestore service.\nEach call creates a new connection.\n\n\n\u003cbr /\u003e\n\nFor more information on connecting to Google Cloud see the\n[Authentication Guide](./AUTHENTICATION \"Authentication Guide\"). \n**Parameters**\n\n- **project_id** (String) *(defaults to: nil)* --- Identifier for a Firestore project. If not present, the default project for the credentials is used.\n- **credentials** (String, Hash, Google::Auth::Credentials) *(defaults to: nil)* --- The path to the keyfile as a String, the contents of the keyfile as a Hash, or a Google::Auth::Credentials object. (See [Credentials](/ruby/docs/reference/google-cloud-firestore/latest/Google-Cloud-Firestore-Credentials \"Google::Cloud::Firestore::Credentials (class)\"))\n- **scope** (String, Array\\\u003cString\\\u003e) *(defaults to: nil)* ---\n\n The OAuth 2.0 scopes controlling\n the set of resources and operations that the connection can access.\n See [Using OAuth 2.0 to Access Google\n APIs](https://developers.google.com/identity/protocols/OAuth2).\n\n The default scope is:\n - `https://www.googleapis.com/auth/datastore`\n- **timeout** (Integer) *(defaults to: nil)* --- Default timeout to use in requests. Optional.\n- **endpoint** (String) *(defaults to: nil)* --- Override of the endpoint host name. Optional. If the param is nil, uses the default endpoint.\n- **emulator_host** (String) *(defaults to: nil)* --- Firestore emulator host. Optional. If the param is nil, uses the value of the `emulator_host` config.\n- **database_id** (String) *(defaults to: nil)* --- Identifier for a Firestore database. If not present, the default database of the project is used.\n- **transport** (:grpc, :rest) *(defaults to: nil)* --- Which transport to use to communicate with the server. Defaults to `:grpc`.\n- **project** (String) *(defaults to: nil)* --- Alias for the `project_id` argument. Deprecated.\n- **keyfile** (String) *(defaults to: nil)* --- Alias for the `credentials` argument. Deprecated. \n**Returns**\n\n- ([Google::Cloud::Firestore::Client](./Google-Cloud-Firestore-Client)) \n**Raises**\n\n- (ArgumentError)\n**Example** \n\n```ruby\nrequire \"google/cloud/firestore\"\n\nfirestore = Google::Cloud::Firestore.new\n```\n\nConstants\n---------\n\n### VERSION\n\n**value:**\"3.1.0\".freeze"]]