CouchDB driver for Go
Clone or download
rhinoman Merge pull request #14 from pdxfixit/panic-upon-no-connection
check if we actually got a response before attempting to close it
Latest commit 310a5a9 Mar 21, 2018


Build Status

NOTE: Use the v1.0 Tag for CouchDB 1.0. The current master is being used for CouchDB 2.x work (still a work in progress).


This is my golang CouchDB driver. There are many like it, but this one is mine.


go get


See the Godoc:

Example Usage

Connect to a server and create a new document:

type TestDocument struct {
	Title string
	Note string


var timeout = time.Duration(500 * time.Millisecond)
conn, err := couchdb.NewConnection("",5984,timeout)
auth := couchdb.BasicAuth{Username: "user", Password: "password" }
db := conn.SelectDB("myDatabase", &auth)

theDoc := TestDocument{
	Title: "My Document",
	Note: "This is a note",

theId := genUuid() //use whatever method you like to generate a uuid
//The third argument here would be a revision, if you were updating an existing document
rev, err := db.Save(theDoc, theId, "")  
//If all is well, rev should contain the revision of the newly created
//or updated Document