CouchDB
ToolJet can connect to CouchDB databases to read and write data.
Connection​
To establish a connection with the CouchDB data source, you can either click on the + Add new Data source button located on the query panel or navigate to the Data Sources page through the ToolJet dashboard.
ToolJet requires the following to connect to your CouchDB.
- Username
- Password

Querying CouchDB​
- Click on + Add button of the query manager at the bottom panel of the editor.
- Select the CouchDB datasource added in previous step.
- Select the operation you want to perform and enter the query.
- Click on the Preview button to preview the output or Click on the Run button to create and trigger the query.

Supported Queries​
List Records​
This query lists all the records in a database.
Optional Parameters​
- Include docs
- Descending order
- Limit
- Skip

Response Example
{
"total_rows": 3,
"offset": 0,
"rows": [
{
"id": "23212104e60a71edb42ebc509f000dc2",
"key": "23212104e60a71edb42ebc509f000dc2",
"value": {
"rev": "1-0cc7f48876f15883394e5c139c628123"
}
},
{
"id": "23212104e60a71edb42ebc509f00216e",
"key": "23212104e60a71edb42ebc509f00216e",
"value": {
"rev": "1-b3c45696b10cb08221a335ff7cbd8b7a"
}
},
{
"id": "23212104e60a71edb42ebc509f00282a",
"key": "23212104e60a71edb42ebc509f00282a",
"value": {
"rev": "1-da5732beb913ecbded309321cac892d2"
}
},
]
}
Retrieve Record​
This operation fetches a single record by its record ID.
Required Parameters:​
- Record ID

Response Example
{
"_id": "e33dc4e209689cb0400d095fc401a1e0",
"_rev": "1-a62af8e14451af88c150e7e718b7a0e8",
"0": {
"name": "test data"
}
}
Create Record​
Inserts a new record into the database.
Required Parameters:​
- Records

Example​
[{"name":"tooljet"}]
Response Example
{
"ok": true,
"id": "23212104e60a71edb42ebc509f0049a2",
"rev": "1-b0a625abc4e21ee554737920156e911f"
}
Update Record​
You can get the revision id value, by sending a GET request to get the document details. You get the document as JSON in the response. For each update to the document, the revision field "_rev" gets changed.
Required Parameters:​
- Record ID
- Revision ID

Example​
[{"name":"tooljet"}]
Response Example
{
"ok": true,
"id": "23212104e60a71edb42ebc509f0049a2",
"rev": "2-b0a625abc4e21ee554737920156e911f"
}
Delete Record​
Removes a record from the database by its record ID.
Required Parameters:​
- Record ID
- Revision ID

Response Example
{
"ok": true,
"id": "rev_id=2-3d01e0e87139c57e9bd083e48ecde13d&record_id=e33dc4e209689cb0400d095fc401a1e0",
"rev": "1-2b99ef28c03e68ea70bb668ee55ffb7b"
}
Find​
Find documents using a declarative JSON querying syntax.
Required Parameters:​
- Mangoquery
NOTE: selector syntax: https://pouchdb.com/guides/mango-queries.html

Example​
{
"selector": {
"year": {"$gte": 2015}
},
"fields": ["year"]
}
Example response from CouchDB:

Get View​
Views are the primary tool used for querying and reporting on CouchDB documents.
Required Parameters​
- View url
Optional Parameters:​
- Start key
- End key
- Limit
- Skip

Response Example
{
"total_rows": 4,
"offset": 0,
"rows": [
{
"id": "23212104e60a71edb42ebc509f000dc2",
"key": "23212104e60a71edb42ebc509f000dc2",
"value": {
"rev": "1-0cc7f48876f15883394e5c139c628123"
}
},
{
"id": "23212104e60a71edb42ebc509f00216e",
"key": "23212104e60a71edb42ebc509f00216e",
"value": {
"rev": "1-b3c45696b10cb08221a335ff7cbd8b7a"
}
},
{
"id": "23212104e60a71edb42ebc509f00282a",
"key": "23212104e60a71edb42ebc509f00282a",
"value": {
"rev": "1-da5732beb913ecbded309321cac892d2"
}
},
{
"id": "23212104e60a71edb42ebc509f002cbd",
"key": "23212104e60a71edb42ebc509f002cbd",
"value": {
"rev": "1-ca5bb3c0767eb42ea6c33eee3d395b59"
}
}
]
}