Couchdb
CouchDB是Apache组织发布的一款开源的、面向文档类型的NoSQL数据库。由Erlang编写,使用json格式保存数据。CouchDB以RESTful的格式提供服务
可以很方便的对接各种语言的客户端
CouchDB最大的竞争对手就是熟悉的MangoDB。
Docker中CouchDB安装配置图解
1.docker安装couchdb
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
2.创建数据库mydb --图形界面即可(右上解->Create Database)
3.golang向其中put数据(JSON格式)
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方法调用成功后,浏览器显示如下所示: