CouchDB是Apache組織發佈的一款開源的、面向文檔類型的NoSQL數據庫。由Erlang編寫,使用json格式保存數據。CouchDB以RESTful的格式提供服務
能夠很方便的對接各類語言的客戶端
CouchDB最大的競爭對手就是熟悉的MangoDB。linux
Step1:docker pull couchdb Step2:建立一個couchdb容器,賦值給COUCH1 COUCH1=$(docker run -d -p 5984 -v /var/lib/couchdb couchdb) Step3: HOST=127.0.0.1 URL="http://$HOST:$(docker port $COUCH1 5984 | grep -o '[1-9][0-9]*$')/_utils/" docker port $COUCH1 5984 //映射到了宿主機32768端口,並監聽全部ip //輸出結果,本人是32769,由於32768已被佔用 0.0.0.0:32768 Step4: echo "Navigate to $URL in your browser, and use the couch interface to add data" //輸出結果 Navigate to http://123.xx.xx.x8:32768/_utils/ in your browser, and use the couch interface to add data Step5:打開瀏覽器,輸入http://127.0.0.1:32769/_utils
package database import ( "github.com/joelnb/sofa" "time" "fmt" ) /* CouchDB是Apache組織發佈的一款開源的、面向文檔類型的NoSQL數據庫。由Erlang編寫,使用json格式保存數據。CouchDB以RESTful的格式提供服務 能夠很方便的對接各類語言的客戶端 CouchDB最大的競爭對手就是熟悉的MangoDB。 docker中couchdb安裝配置圖解:https://www.linuxidc.com/Linux/2017-03/142405.htm */ func CouchDB(){ conn,err:=sofa.NewConnection("http://127.0.0.1:32769",10*time.Second,sofa.NullAuthenticator()) if err !=nil{ panic(err) } db:=conn.Database("mydb") doc:=&struct { sofa.DocumentMetadata Name string `json:"name"` Type string `json:"type"` }{ DocumentMetadata:sofa.DocumentMetadata{ ID:"fruit", }, Name:"apple", Type:"fruit", } rev,err:=db.Put(doc) if err!=nil{ panic(err) } fmt.Println(rev) }
main方法調用成功後,瀏覽器顯示以下所示:git
另:CouchDB與CouchBase的比較github