package main import ( "fmt" "net/url" "reflect" "github.com/zemirco/couchdb" ) // create your own document type cardDocument struct { couchdb.Document IsQuestion bool `json:"isquestion"` Blank int `json:"blank"` Text string `json:"text` } type dummyDocument struct { couchdb.Document Foo string `json:"foo"` Beep string `json:"beep"` } func connectCouchdb() couchdb.DatabaseService { /* http://127.0.0.1:5984/_utils/#database/golang_cards/_all_docs */ // if url_couchdb == "" { url_couchdb := "http://root:password@127.0.0.1:5984/" // } u, err := url.Parse(url_couchdb) if err != nil { panic(err) } client, err := couchdb.NewClient(u) if err != nil { panic(err) } // return client, err fmt.Println(reflect.TypeOf(client)) db := client.Use("golang_cards") // return db fmt.Println(reflect.TypeOf(db)) return db } func addNewCard(_isQuestion bool, _blank int, _text string) { if !_isQuestion { fmt.Printf("NIE") _blank = 0 } db := connectCouchdb() doc := &cardDocument{ //struktura karty IsQuestion: _isQuestion, Blank: _blank, Text: _text, } // doc := &dummyDocument{ // Foo: "bar", // Beep: "bopp", // } result, err := db.Post(doc) if err != nil { panic(err) } // fmt.Printf(result) fmt.Println(reflect.TypeOf(result)) // get id and current revision. if err := db.Get(doc, result.ID); err != nil { panic(err) } fmt.Printf(result.ID) } func main() { // db := connectCouchdb() addNewCard(true, 1, "_text") } // func addNewCard(){ // u, err = connectCouchdb("") // client, err := couchdb.NewClient(u) // db := client.Use("golang_cards") // doc := &cardDocument{ // Foo: "bar", // Beep: "bopp", // ID int // isQuestion bool //True karta pytanie, False karta odpowiedź // Blank int //ile kart odpowiedzi na pytanie // Text string // podłoga to luka // } // result, err := db.Post(doc) // if err != nil { // panic(err) // } // } // // start // func main() { // u, err = connectCouchdb("") // // create a new client // client, err := couchdb.NewClient(u) // if err != nil { // panic(err) // } // // get some information about your CouchDB // info, err := client.Info() // if err != nil { // panic(err) // } // fmt.Println(info) // // // create a database // // if _, err = client.Create("dummy"); err != nil { // // panic(err) // // } // // use your new "dummy" database and create a document // db := client.Use("dummy") // doc := &cardDocument{ // Foo: "bar", // Beep: "bopp", // ID int // isQuestion bool //True karta pytanie, False karta odpowiedź // Blank int //ile kart odpowiedzi na pytanie // Text string // podłoga to luka // } // result, err := db.Post(doc) // if err != nil { // panic(err) // } // // get id and current revision. // if err := db.Get(doc, result.ID); err != nil { // panic(err) // } // // delete document // if _, err = db.Delete(doc); err != nil { // panic(err) // } // // and finally delete the database // if _, err = client.Delete("dummy"); err != nil { // panic(err) // } // }