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 -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 //映射到了宿主机32768端口,并监听所有ip //输出结果,本人是32769,因为32768已被占用
0.0.0.0: 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",*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方法调用成功后,浏览器显示如下所示:

另:CouchDB与CouchBase的比较

NoSQL--couchdb的更多相关文章

  1. <转载>国外程序员推荐的免费编程书籍资源

    一.George Stocker 提供了一大串,分类如下: How to Design Programs: An Introduction to Computing and Programming 2 ...

  2. Github上的1000多本免费电子书重磅来袭!

    Github上的1000多本免费电子书重磅来袭!   以前 StackOverFlow 也给出了一个免费电子书列表,现在在Github上可以看到时刻保持更新的列表了. 瞥一眼下面的书籍分类目录,你就能 ...

  3. Github 的一个免费编程书籍列表

    Index Ada Agda Alef Android APL Arduino ASP.NET MVC Assembly Language Non-X86 AutoHotkey Autotools A ...

  4. NoSQL四种——kv存储(memcache,Riak),列存储(Cassandra,Hbase),文档类(mongoDB,CouchDB),图数据库(neo4j)

    见:https://software.intel.com/sites/default/files/Configuration_and_Deployment_Guide_for_Cassandra_on ...

  5. 非关系型数据库(NoSql)

    最近了解了一点非关系型数据库,刚刚接触,觉得这是一个很好的方向,对于大数据 方面的处理,非关系型数据库能起到至关重要的地位.这里我主要是整理了一些前辈的经验,仅供参考. 关系型数据库的特点 1.关系型 ...

  6. 几款主流 NoSql 数据库的对比

    最近小组准备启动一个 node 开源项目,从前端亲和力.大数据下的IO性能.可扩展性几点入手挑选了 NoSql 数据库,但具体使用哪一款产品还需要做一次选型. 我们最终把选项范围缩窄在 HBase.R ...

  7. NoSQL与RDBMS的九点区别联系

    原文链接:http://blog.sina.com.cn/s/blog_5373fb0b0101ft8a.html     1 理解ACID与BASE的区别(ACID是关系型数据库强一致性的四个要求, ...

  8. NoSQL初探之人人都爱Redis:(1)Redis简介与简单安装

    一.NoSQL的风生水起 1.1 后Web2.0时代的发展要求 随着互联网Web2.0网站的兴起,传统的关系数据库在应付Web2.0网站,特别是超大规模和高并发的SNS类型的Web2.0纯动态网站已经 ...

  9. 1、NoSQL概述

    最近抽时间把Redis学了一下,所以就在网上找了一些资料.然后找到尚硅谷-周阳老师的视频教程,觉得里面的讲的挺好.所以就把他视频当中的资料教程整理出来. 单机MySQL的美好时代 在90年代,一个网站 ...

  10. 关系型数据库与NOSQL

    本文转载自: http://www.cnblogs.com/chay1227/archive/2013/03/17/2964020.html(只作转载, 不代表本站和博主同意文中观点或证实文中信息) ...

随机推荐

  1. Python身份运算符

    运算符 描述 实例 is is 是判断两个标识符是不是引用自一个对象 x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False is not ...

  2. poj 2976 Dropping tests (最大化平均值:二分查找)

    #include<iostream> #include<algorithm> #include<stdio.h> #include<math.h> #d ...

  3. 在vue中引入layer弹框的简易方法

    npm i --save layui-layer 2.在main.js中引入 import layer from "layui-layer"; 3.然后就可以在各个组件中使用lay ...

  4. 微信小程序简单的推送消息流程

    1.进入开发设置-消息推送,启用消息推送 url: 启用并设置消息推送配置后,用户发给小程序的消息以及开发者需要的事件推送,都将被微信转发至该服务器地址中. 2.创建消息模板. 3.WXML代码: 4 ...

  5. 服务器上class文件是新的,但就是执行的老代码

    故事是这样的. 上周末回老家,n个测试和开发找我,说我写的代码哪儿哪儿不行,吓得我赶紧打开电脑,连上阿里云数据库,修改了代码,测试们拉包重新测试后,还是不行,通过看打出的日志,还是执行的修改之前的代码 ...

  6. Gitee使用方法

    原文链接:https://www.cnblogs.com/yiven/p/8465054.html 1.创建仓库: a.创建远程仓库 登入Gitee后,点击头像旁边的"+"加号-- ...

  7. Java中的基本数据类型和引用类型

    一.基本数据类型: byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0 short:短整型,在内存中占16位,即2个字节,取值范围-32768 ...

  8. Mac 10.15 关闭SIP

    升级Mac后SIP开启了,根目录不能创建文件了 关闭 sip,终端输入 sudo mount -uw / 在我们开发过程中,有时候我们安装一些工具软件需要将文件拷贝到系统限制更改的文件夹中,甚至有时需 ...

  9. java 包引入时*会全部加载吗

    有一个虚拟机参数: -XX:+TraceClassLoading 这两种写法,最终加载的类是一样的. 对比了一下输出的都是618行

  10. Linux内存简单汇总

    Linux内存主要用来存储系统和应用程序的指令,数据,缓存等 一,内存映射 1,内核给每个进程提供一个独立的虚拟机地址空间,并且这个地址空间是连续的 2,虚拟地址空间内部又被分为内核空间和用户空间 3 ...