Couchdb
CouchDB是Apache组织发布的一款开源的、面向文档类型的NoSQL数据库。由Erlang编写,使用json格式保存数据。CouchDB以RESTful的格式提供服务
可以很方便的对接各种语言的客户端CouchDB最大的竞争对手就是熟悉的MangoDB。1.docker安装couchdb
Step1:docker pull couchdbStep2:创建一个couchdb容器,赋值给COUCH1COUCH1=$(docker run -d -p 5984 -v /var/lib/couchdb couchdb) Step3: HOST=127.0.0.1URL="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:32768Step4: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
2.创建数据库mydb --图形界面即可(右上解->Create Database)
3.golang向其中put数据(JSON格式)
package databaseimport ( "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方法调用成功后,浏览器显示如下所示:
另: