A set of Node-RED nodes to work with documents in a Cloudant database that is integrated with IBM Cloud or an on-premises CouchDB. This version is a superset of the functionality in the original Cloudant node and replicates the functionality of the node-red-contrib-cloudantplus node and will eventually replace it.
*** Note that this version has been checked on Node-RED 3.0.0-beta1
Ideally, install from the package manager inside Node-RED.
Alternatively, install from npm
npm install node-red-node-cf-cloudant
Allows access to a Cloudant or CouchDB database to
insert
, update
, delete
and search
for documents. Also bulk
operations are supported.
An additional node allows to retrieve information about server and databases
To insert a new document into the database you have the option to store
the entire msg
object or just the msg.payload
. If the input value is not
in JSON format, it will be transformed before being stored. If msg
or msg.payload
is an array,
all elements will be processed using the bulk operations API.
For update and delete, you must pass the _id
and the _rev
as part
of the input msg.payload
object. Bulk operations are also supported when putting documents as
an array in the input msg.payload
object.
To search for a document you have five options:
- get a document directly by its
_id
- use query
- use an existing search index from the database
- use an existing view
- retrieve all documents
- When getting documents by id, the
payload
will be the desired_id
value. - For
query
, thepayload
will be the set to an object with a declarative JSON query syntax. - For
search indexes
, the query should follow the formatindexName:value
. - For
views
andall docs
,payload
should be set be set to an object containing key/value pairs as defined in the Query string section in the Cloudant documentation
- cfenv - Package to retrieve configuration settings if availble
- @ibm-cloud/cloudant - IBM Cloudant SDK
- Adam Hammond - [email protected]
- Stephan H. Wissel [email protected]
Based on the node written and enhanced by:
- Austin Chang - [email protected]
- Luiz Gustavo Ferraz Aoqui - [email protected]
- Túlio Pascoal