docs/versioned_docs/version-2.65.0/data-sources/couchdb.md
ToolJet can connect to CouchDB databases to read and write data. CocuhDB uses basic auth for authentication, username and password for the database is required to create an CouchDB data source on ToolJet. For more info visit CouchDB docs.
:::info NOTE: Record ID is same as document ID("_id") . :::
This query lists all the records in a database.
:::info descending (boolean) – Return the documents in descending order by key. Default is false.
limit (number) – Limit the number of the returned documents to the specified number.
skip (number) – Skip this number of records before starting to return the results. Default is 0.
include_docs (boolean) – include_docs key is set to false by default , if true it returns the document data along with the default fields.
:::
Example response from CouchDb:
{
"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"
}
},
]
}
Example response from CouchDb:
{
"_id": "e33dc4e209689cb0400d095fc401a1e0",
"_rev": "1-a62af8e14451af88c150e7e718b7a0e8",
"0": {
"name": "test data"
}
}
The returned JSON is the JSON of the document, including the document ID and revision number:
[{"name":"tooljet"}]
Click on the run button to run the query.
Example response from CouchDb:
{
"ok": true,
"id": "23212104e60a71edb42ebc509f0049a2",
"rev": "1-b0a625abc4e21ee554737920156e911f"
}
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.
[{"name":"tooljet"}]
Click on the run button to run the query.
:::info NOTE: Query must be saved before running. :::
Example response from CouchDb:
{
"ok": true,
"id": "23212104e60a71edb42ebc509f0049a2",
"rev": "2-b0a625abc4e21ee554737920156e911f"
}
Click on the run button to run the query.
Example response from CouchDb:
{
"ok": true,
"id": "rev_id=2-3d01e0e87139c57e9bd083e48ecde13d&record_id=e33dc4e209689cb0400d095fc401a1e0",
"rev": "1-2b99ef28c03e68ea70bb668ee55ffb7b"
}
Find documents using a declarative JSON querying syntax.
:::info NOTE: selector syntax: https://pouchdb.com/guides/mango-queries.html :::
{
"selector": {
"year": {"$gte": 2015}
},
"fields": ["year"]
}
Click on the run button to run the query.
:::info NOTE: selector (json) – JSON object describing criteria used to select documents.
More information : https://docs.couchdb.org/en/stable/api/database/find.html :::
Example response from CouchDb:
Views are the primary tool used for querying and reporting on CouchDB documents.
Reference for view :https://docs.couchdb.org/en/3.2.0/ddocs/views/intro.html#what-is-a-view
Click on the run button to run the query.
:::info startkey (json) – Return records starting with the specified key.
endkey (json) – Stop returning records when the specified key is reached.
limit (number) – Limit the number of the returned documents to the specified number.
skip (number) – Skip this number of records before starting to return the results. Default is 0. :::
Example response from CouchDb:
{
"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"
}
}
]
}