Skip to main content
Version: 3.0.0-LTS

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
Couch listing

Querying CouchDB

  1. Click on + Add button of the query manager at the bottom panel of the editor.
  2. Select the CouchDB datasource added in previous step.
  3. Select the operation you want to perform and enter the query.
  4. Click on the Preview button to preview the output or Click on the Run button to create and trigger the query.
Couch listing

Supported Queries

List Records

This query lists all the records in a database.

Optional Parameters

  • Include docs
  • Descending order
  • Limit
  • Skip
Couch listing
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
Couch retrieve view
Response Example
{
"_id": "e33dc4e209689cb0400d095fc401a1e0",
"_rev": "1-a62af8e14451af88c150e7e718b7a0e8",
"0": {
"name": "test data"
}
}

Create Record

Inserts a new record into the database.

Required Parameters:

  • Records
Couch create view

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
Couch update view

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
Couch delete view
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
Couch find

Example

{
"selector": {
"year": {"$gte": 2015}
},
"fields": ["year"]
}

Example response from CouchDB:

Couch find response

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
Couch get view
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"
}
}
]
}