Learn R Programming

R-couchDB

R interface to the CouchDB database

Description

This package contains various functions for interacting with couchDB - a document database. For more information about the couchDB database see Apache Couchdb or the implementation by IBM as IBM Cloudant.

Usage

The pacakge on CRAN is outdated at this moment. To follow the examples below (especially the connection to Cloudant), please install the source code in this development branch with devtools:

devtools::install_github("FvD/RcouchDB")

Get connected

To interact with a couchDB instance you will need to create a connection object. Communication with couchDB happens over a http protocol. A minimal connection (running on the default port and no password protection) would be:

myConn <- couch_http_connection("localhost")

The variable myConn can now be used as parameters to other functions.

For convenience a default connection can also be created with couch_set_default_connection using the same parameters.

Once a connection object exists, you may want to make sure it is connecting correctly with the couch_ping function. If you are properly connected the reponse should be something like:

Response [http://localhost:5984]
Status: 200
Content-type: text/plain; charset=utf-8
Size: 151 B
{"couchdb":"Welcome","uuid":"c1a367c91517195b57ddafe788a72b75","version":"1.4.0","vendor"
{"name":"...

To connect to cloudant specify the service (otherwise it defaults to couchdb) as follows:

myConn <- couch_http_connection(host = "demo.cloudant.com",
                                https = TRUE,
                                service = "cloudant")
Response [https://demo.cloudant.com/]
  Date: 2016-05-13 16:50
  Status: 200
  Content-Type: application/json
  Size: 64 B
{"couchdb":"Welcome","version":"1.0.2","cloudant_build":"2580"}

Databases

On a couchDB install there can be several databases (i.e. namespaces). The function couch_list_databases will provide a list of available databases on the connection provided.

The function couch_create_database will, similarly, allow you to create a new database or namespace on the couchDB instance.

Fetch, store and delete documents

Once you have a connection and a database to work with you can fetch, store and delete documents by using the corresponding functions:

couch_fetch() and couch_fetch_default()

couch_store() and couch_store_default()

couch_delete()

Copy Link

Version

Install

install.packages('couchDB')

Version

1.4.1

License

AGPL-3

Last Published

June 26th, 2016

Functions in couchDB (1.4.1)

couch_list_databases

List available databases.
couch_fetch_attachment_url

Get attachment url
couch_fetch_default

Fetch document/record from default store.
couch_create_database

Create database
couch_list_databases_url

couch_list_databases_url
couch_fetch

Fetch a document/record.
couch_fetch_attachment

Fetch attachment
couch_delete

Delete a record.
couch_attach

Add attachment to document
couch_http_connection

Connection to couchDB
couch_set_default_connection

Set default connection
couch_new_object

New couchDB document
couch_store

Store a record
couchDB

Functions to interact with a couchDB document database
couch_ping

Ping connection
couch_store_default

Store a document on the default connection.
couch_set_default_database

Set a database as default document store
print.couch_connection

Print method for couchDB connection object