• NoSQL--couchdb


    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方法调用成功后,浏览器显示如下所示:

     

    另:CouchDB与CouchBase的比较

  • 相关阅读:
    Vmware 可用的激活码
    查询某网址的百度收藏量
    SQL 分页实现
    JS 分页实现
    分页逻辑分析
    Mysql总结概述
    解析select *
    teradata中EXPLAIN执行计划总结
    Teradata Join类型
    Teradata中join总结
  • 原文地址:https://www.cnblogs.com/kaixinyufeng/p/10330668.html
Copyright © 2020-2023  润新知