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"
}
}
]
}