Skip to content

beam-campus/cdb-erl

 
 

Repository files navigation

CouchDB

Hex pm Build Status License

Erlang / Elixir library for Apache CouchDB or IBM Cloudant. CouchDB provides you a full featured and easy-to-use client to access and manage multiple nodes.


Prerequisites

  • Working C/C compiler in environment
  • Rebar3 or Mix

Usage

Most of the Erlang/Elixir CouchDB API takes Database or Server record as an argument. This record contains information about the server's FQDN, the database name, etc. Parts of the API dealing with 'the server' will take a server record, while functions performing actions on databases and documents take a database record. Consider:

{ok, Server} = couchdb:server_record(<<"http://localhost:5984">>, []).
{:ok, server} = :couchdb.server_record("http://localhost:5984", [])

After a server or database record has been created one can now make the first actual call:

{ok, Info} = couchdb_server:info(Server).
{:ok, info} = :couchdb_server.info(server)

Contribute

For issues, comments or feedback please create an issue.

Notes

V2.1.0 JSON library is now Jiffy

Version 2.1.0 switched to Jiffy as the JSON library. This fixes a bug with strings containing UTF-8 characters. Furthermore it improves performance and brings this CouchDB client closer to Apache CouchDB itself as it uses Jiffy too.

It should be noted that this change means a prerequisite is now introduced, the target environment must have a working C/C compiler.

Forked from Couchbeam

CouchDB is a a fork of [couchbeam](http://github.com/benoitc/couchbeam. Backwards incompatible API changes have been introduced as well as a complete new structure. Therefore the decision was made to release this version under a new name: CouchDB.

Semantic versioning

To comply with Semantic Versioning the version number has been bumped to 2.0.0.

New uuid implementation

In Beta6 the original Apache CouchDB uuid implementation was added.

About

An Erlang/Elixir CouchDB client

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Erlang 99.9%
  • Shell 0.1%