--- id: firestore title: Cloud Firestore --- ToolJet can connect to **Cloud Firestore** databases to read and write data.
## Connection To establish a connection with the **Cloud Firestore** data source, you can either click on the **+ Add new Data source** button located on the query panel or navigate to the **[Data Sources](/docs/data-sources/overview)** page from the ToolJet dashboard and choose Cloud Firestore as the data source. ToolJet requires the following to connect to your BigQuery: - **Private key** For generating a private key check out **[Firestore's official documentation](https://cloud.google.com/iam/docs/creating-managing-service-account-keys#iam-service-account-keys-create-console)**. firestore add ds
## Querying Firestore 1. Click on **+ Add** button of the query manager at the bottom panel of the editor. 2. Select the **Cloud Firestore** datasource added in previous step. 3. Select the desired operation from the dropdown and enter the required parameters. 4. Click on the **Preview** button to preview the output or Click on the **Run** button to trigger the query. firestore QUERY :::tip Query results can be transformed using transformations. Read our transformations documentation to see how: **[link](/docs/app-builder/custom-code/transform-data)** :::
## Supported Operations - **[Get Document](#get-document)** - **[Query collection](#query-collection)** - **[Add Document to Collection](#add-document-to-collection)** - **[Update Document](#update-document)** - **[Set Document](#set-document)** - **[Bulk update using document ID](#bulk-update-using-document-id)** - **[Delete Document](#delete-document)** ### Get Document Use this operation to get the data in a document. #### Required Parameters - **Path** firestore get ### Query Collection Use this operation to query all the documents in a collection. Check firestore doc **[here](https://firebase.google.com/docs/reference/js/v8/firebase.database.Query)**. #### Required Parameters - **Path** #### Optional parameters - **Order type** - **Limit** - **Field** - **Operator** - **Value** firestore collection ### Add Document to Collection Use this operation for creating a new document in a collection. #### Required Parameters - **Collection** - **Body**. #### Example ```json { "Author": "Shubh", "id": 5 } ``` firestore document ### Update Document Use this operation for updating the existing document in a collection. Also, it only updates fields if they exist, but doesn't replace an entire object like **[set operation](#set-document)**. #### Required Parameters - **Path** - **Body** #### Example ```json { "Author": "Shubhendra", "id": 3 } ``` firestore update ### Set Document This operation replaces your chosen object with the value that you provide. So if your object has 5 fields, and you use Set operation and pass object with 3 fields, it will now have 3 fields. #### Required Parameters - **Path** - **Body** #### Example ```json { "Author": "Shefewfbh", "id": 9 } ``` firestore set ### Bulk Update Using Document ID Use this operation for bulk updating documents. #### Required Parameters - **Collection** - **Key for document ID** - **Records** firestore bulk ### Delete Document Use this operation for deleting a document in a collection. #### Required Parameters - **Path** firestore delete
## Transforming Firestore Query Result for Table Widget The Firestore query result is in the form of object so we’ll need to transform it into array. ```js return (data = Array(data)); ```