ToolJet/docs/versioned_docs/version-1.x.x/data-sources/appwrite.md

139 lines
6.2 KiB
Markdown
Raw Normal View History

2022-12-09 10:19:55 +00:00
---
id: appwrite
title: Appwrite Database
---
# Appwrite Database
Now build applications on top of your Appwrite database.
## Connection
ToolJet connects to your Appwrite app using :
- **Host (API endpoint)**
- **Project ID**
- **Secret key**
You'll find the Secret key and other credentials on your Appwrite's project settings page. You may need to create a new key if you don't have one already.
:::info
You should also set the scope for access to a particular resource. Learn more about the **API keys and scopes** [here](https://appwrite.io/docs/keys).
:::
To connect Appwrite datasource to your ToolJet application, go to the data source manager on the left-sidebar and click on the `+` button. Select Appwrite from the list of available datasources, provide the credentials and click **Save**. It is recommended to check the connection by clicking on 'Test connection' button to verify if the service account can access Appwrite from the ToolJet server.
<img className="screenshot-full" src="/img/datasource-reference/appwrite/appwrite-init.gif" alt="Appwrite intro" />
## Querying Appwrite
After setting up the Appwrite datasource, you can click on the `+` button of the query manager at the bottom panel of the editor and select the Appwrite data source that you added in the previous step.
<img className="screenshot-full" src="/img/datasource-reference/appwrite/appwrite-query.gif" alt="Appwrite query" />
After selecting Appwrite datasource, select the operation that you want to perform on the Appwrite database and click **Save** to save the query.
:::tip
Query results can be transformed using Transformations. Read our **Transformation documentation** [here](/docs/tutorial/transformations)
:::
## Supported operations
1. **[List documents](#list-documents)**
2. **[Get document](#get-document)**
2024-09-23 09:50:49 +00:00
3. **[Create document](#add-document-to-collection)**
2022-12-09 10:19:55 +00:00
4. **[Update document](#update-document)**
5. **[Delete document](#delete-document)**
6. **[Bulk update using document id](#bulk-update-using-document-id)**
### List documents
This operation can be used to get a list of all the user documents.
#### Required parameters:
- **Collection ID:** You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/database#createCollection) or appwrite console. The value for collection ID field should be of `String` type.
#### Optional parameters:
- **Limit:** Maximum number of documents to return in the response. By default, it will return a maximum of 25 results. A maximum of 100 results is allowed per request. The Limit value should be of `integer` type.
- **Order fields:** Array of attributes used to sort results. The order field value should be an `array`.
- **Order types:** Array of order directions for sorting attributes. Possible values are DESC for descending order or ASC for ascending order. The order field value should be an `array`.
- **Field, Operator, and Value:** For filtering the results, you can enter a field(attribute) name, use the appropriate operator from the dropdown, and set a value.
<img className="screenshot-full" src="/img/datasource-reference/appwrite/appwrite_list.png" alt="Appwrite List" />
### Get document
Use this operation to get a document from a collection by its unique ID.
#### Required parameters:
- **Collection ID:** You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/database#createCollection) or appwrite console. The value for collection ID should be of `String` type.
- **Document ID:** Enter the document ID of the document that you want to get. The document ID should be of `String` type.
<img className="screenshot-full" src="/img/datasource-reference/appwrite/appwrite_get.png" alt="Appwrite get" />
### Add Document to Collection
Use this operation to create a new document in a collection.
#### Required parameters:
- **Collection ID:** You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/database#createCollection) or appwrite console. The collection ID should be of `String` type.
- **Body:** Enter the document data as a JSON object.
<img className="screenshot-full" src="/img/datasource-reference/appwrite/appwrite_add.png" alt="Appwrite add" />
### Update document
Use this operation to update a document.
#### Required parameters:
- **Collection ID:** You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/database#createCollection) or appwrite console. The value for collection ID should be of `String` type.
- **Document ID:** Enter the document ID of the document that you want to get. The document ID should be of `String` type.
- **Body:** Enter the document data as a JSON object.
<img className="screenshot-full" src="/img/datasource-reference/appwrite/appwrite_update.png" alt="Appwrite update" />
### Delete document
Use this operation for deleting a document in the collection.
#### Required parameters:
- **Collection ID:** You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/database#createCollection) or appwrite console. The value for collection ID should be of `String` type.
- **Document ID:** Enter the document ID of the document that you want to get. The document ID should be of `String` type.
<img className="screenshot-full" src="/img/datasource-reference/appwrite/appwrite_delete.png" alt="Appwrite delete"/>
### Bulk update using document id
Use this operation for bulk updating a document in a collection.
#### Required parameters:
- **Collection ID:** You can create a new collection using the Database service [server integration](https://appwrite.io/docs/server/database#createCollection) or appwrite console. The value for collection ID should be of `String` type.
- **Key for document ID:** Enter the key or attribute name that can be used to identify each record.
- **Records:** The array of objects that will contain the data for updating each record in the database
and these objects must contain a key-value pair to point unique record in the database (key for document)
<img className="screenshot-full" src="/img/datasource-reference/appwrite/appwrite_bulk.png" alt="Appwrite bulk update" />