zoukankan      html  css  js  c++  java
  • couchDB学习笔记

    couchDB是一个非常易用的nosql数据库,到官网下载安装并启动它,然后新建一JS文件:

    var http = require('http');
    
    var options = {
        port: 5984,
        method: 'GET',
     //   path:"/_all_dbs"
    };
    
    //这个回调果真只有一个参数,即http.createServer(function(req, res) {})
    var req = http.request(options, function(res) {
        console.log('STATUS: ' + res.statusCode);
        console.log('HEADERS: ' + JSON.stringify(res.headers));
        res.setEncoding('utf8');
        var body = ""
        res.on('data', function (chunk) {
            body += chunk
        });
        res.once("end", function(){
            var json = JSON.parse(body);
            console.log(json)
        })
    });
    req.end()
    req.on('error', function(e) {
        console.log('problem with request: ' + e.message);
    });
    

    然后用node.js打开它!控制台输出如下消息,表示成功:

    
    STATUS: 200
    HEADERS: {"server":"CouchDB/1.2.0 (Erlang OTP/R14B04)","date":"Fri, 24 Aug 2012
    02:53:18 GMT","content-type":"text/plain; charset=utf-8","content-length":"40","
    cache-control":"must-revalidate"}
    { couchdb: 'Welcome', version: '1.2.0' }
    

    然后我们修改一下上面的options对象,查看里面已经有多少个数据库

    var options = {
        port: 5984,
        method: 'GET',
        path:"/_all_dbs"
    };
    

    会输出一个数组

    
    [ '_replicator', '_users' ]
    
    

    创建一个数据库,为PUT请求,path为数据库名

    var options = {
        port: 5984,
        method: 'PUT',
        path:"/aaa"
    };
    

    输出ok=true表示成功

    { ok: true }
    

    注,不能重复创建相同数据库,我们试再发一次上面的请求,会返回上面请求

    { error: 'file_exists',
      reason: 'The database could not be created, the file already exists.' }
    

    删除一个数据库就用DELETE请求,path为数据库名

    var options = {
        port: 5984,
        method: 'DELETE',
        path:"/aaa"
    };
    

    在一个数据库内插入一条记录,因为上面的aaa被我们删掉了, 我们就再搞个albums

    var options = {
        port: 5984,
        method: 'PUT',
        path:"/albums"
    };
    

    插入新记录,记录在nosql数据库大多数称之为文档.它要求有一个UUID,你就随便造一个吧

    
    var http = require('http');
    //创建一个名为baseball的数据库
    var options = {
        port: 5984,
        method: 'PUT',
        path:"/albums/1"
    };
    
    var req = http.request(options, function(res) {
        console.log('STATUS: ' + res.statusCode);
        console.log('HEADERS: ' + JSON.stringify(res.headers));
        res.setEncoding('utf8');
        var body = ""
        res.on('data', function (chunk) {
            body += chunk
        });
        res.once("end", function(){
            var json = JSON.parse(body);
            console.log(json)
        })
    });
    req.setHeader("Content-Type", "application/json")
    //这时请补上文档内容
    req.write(JSON.stringify({
        "title":"There is Nothing Left to Lose",
        "artist":"Foo Fighters"
    }))
    
    req.end()
    req.on('error', function(e) {
        console.log('problem with request: ' + e.message);
    });
    

    当然,上面这样搞出来的UUID太不安全了,因此你可以利用couthDB给你的UUID

    
    var options = {
        port: 5984,
        method: 'GET',
        path:"/_uuids"
    };
    

    我们再把刚才保存的文档取出来吧,就是数据库加ID名,GET请求

    var options = {
        port: 5984,
        method: 'GET',
        path:"/albums/1"
    };
    
  • 相关阅读:
    偏倚有感
    SAS--修改默认语言
    SAS--EXCEL读写、批量读EXCEL
    SAS--sql2
    Day2----respondToValue
    python的一些遗漏用法
    一些常见的东西
    爬虫学习06用selenium爬取空间
    爬虫学习04.
    爬虫学习03常用模块
  • 原文地址:https://www.cnblogs.com/rubylouvre/p/2653863.html
Copyright © 2011-2022 走看看