CouchDB Api para Go Language
Peter Bourgon, ha desarrollado una API para Go Language que nos permite trabajar con CouchDB.
Para los que no conozcan CouchDB, podemos resumirlo como “una base de datos documental sin ‘esquema’, consultable al estilo MapReduce, accesible por REST y con una funcionalidad de replicación integrada”.
Primeros Pasos:
//Primero creamos un objeto database para acceder a nuestra bd:
db, err := couch.NewDatabase("127.0.0.1", "5984", "databasename")

//El documento CouchDb es representado por esta estructura Go Languaje:
type Record struct {
Type string
Count uint64
Elements []string
MyMap map[string]string
}
//Métodos principales:
//- Insertar documentos
r := Record{...}
id, rev, err := db.Insert(r)
//- Recuperarlos por ID
r := new(Record)
rev, err := db.Retrieve(id, r)
//- Editar
func (p Database) Edit(d interface{}) (string, os.Error)
- Borrar
func (p Database) Delete(id, rev string) os.Error
// - Consulta por ID
func (p Database) QueryByView(view, key string) []string
Podéis acceder al código desde http://code.google.com/p/couch-go/
Si tenéis mercurial instalado podéis hacer una copia del repositorio: hg clone https://couch-go.googlecode.com/hg/ couch-go
A disfrutar!
