CouchdbClient
This module conveniently interfaces/proxies
- CouchdbClient.Repository
- CouchdbClient.Database
- CouchdbClient.Document
- CouchdbClient.Attachment
to provide easy access to a CouchDB instance. It will collect connection data from Application.get_env(:couchdb_client, options) that you may possibly configure via
config :couchdb_client,
scheme: "http",
host: "127.0.0.1",
port: 5984,
name: "test_database"
in your config/config.exs. Add :couchdb_client to your mix.exs:
def application do
[applications: [ .., :couchdb_client, ..], .. ]
end
If you don’t want to autostart, issue
CouchdbClient.start name: "test_database", host: "..", ..
Examples
iex> doc = %CouchdbClient.Document{ data: %{ “one” => “two” } } %CouchdbClient.Document{data: %{“one” => “two”}, id: nil, rev: nil}
iex> doc = CouchdbClient.save doc %CouchdbClient.Document{data: %{“_rev” => _REV1, “one” => “two”}, id: _ID, rev: _REV1}
iex> CouchdbClient.delete doc :ok
iex> doc = %CouchdbClient.Document{ id: “test_doc”, data: %{ “one” => “two” } } %CouchdbClient.Document{id: “test_doc”, data: %{“one” => “two”}, id: “test_doc”, rev: nil}
iex> doc = CouchdbClient.save doc %CouchdbClient.Document{data: %{“_rev” => _REV2, “one” => “two”}, id: “test_doc”, rev: _REV2}
Summary
Functions
Adds an attachment, see CouchdbClient.Attachment.attach/3
Returns a list of all documents in db
Changes the database name to use on current CouchDB server
Returns the %CouchdbClient.Database{} stored in Repository Agent
Deletes the document, return :ok
Deletes an attachment, see CouchdbClient.Attachment.attach/3
Fetches an attachment, returns { content, content_type }. See CouchdbClient.Attachment.fetch/3
Performs a HEAD request to CouchDB, returning the revision “rev”
Retrieves general DB information from server
Inserts the document, returns it
Loads a document. Accepts both an id string or a %CouchdbClient.Document struct which must have the id property set
Either inserts or updates the document, returns it
Sets all keys found in data map in document.data
Callback implementation for c::application.start/2
Updates the document, returns it
Functions
Fetches an attachment, returns { content, content_type }. See CouchdbClient.Attachment.fetch/3
Loads a document. Accepts both an id string or a %CouchdbClient.Document struct which must have the id property set.