curl操作CouchDB
couchdb 服务器地址: 127.0.0.1
端口:5984
添加数据库
连接到couchdb
curl -X GET http://127.0.0.1:5984
{"couchdb":"Welcome","uuid":"1c81fc63d761c82c4f48bac34afd5eb8","version":"1.6.0","vendor":{"name":"The Apache Software Foundation","version":"1.6.0"}}
创建一个数据库db1
curl -X PUT http://127.0.0.1:5984/db1
{"ok":true}
创建数据库 db2
curl -X PUT http://127.0.0.1:5984/db2
{"ok":true}
列出当前所有的数据库
curl -X GET http://127.0.0.1:5984/_all_dbs
["_replicator","_users","db1","db2"]
删除db2数据库
curl -X DELETE http://127.0.0.1:5984/db2
{"ok":true}
删除成功
数据库操作
向数据库添加数据
首先,获取一个uuid
curl -X GET http://127.0.0.1:5984/_uuids
{"uuids":["1925a2a284289df9b55b390525001ca1"]}
注意:每次得到的uuid不一样。
获取10个uuid: curl -X GET http://127.0.0.1:5984/_uuids?count=10使用uuid作为键插入一条数据
curl -X PUT http://127.0.0.1:5984/db1/1925a2a284289df9b55b390525001ca1 -d '{"title":"test","content":"this is test!"}'
{"ok":true,"id":"1925a2a284289df9b55b390525001ca1","rev":"1-4d3e6350fdcc39f7b482c4cab8ff5d9a"}更新记录
curl -X PUT http://127.0.0.1:5984/db1/1925a2a284289df9b55b390525001ca1 -d '{"title":"test","content":"this is test!modifyied!"}'
{"error":"conflict","reason":"Document update conflict."}
失败了。因为,couchdb是按版本提交的,同一个源提交多次会造成一定的混乱。所以,其采用了版本进行控制。curl -X PUT http://127.0.0.1:5984/db1/1925a2a284289df9b55b390525001ca1 -d '{"_rev":"1-4d3e6350fdcc39f7b482c4cab8ff5d9a","title":"test","content":"this is test!"}'
{"ok":true,"id":"1925a2a284289df9b55b390525001ca1","rev":"2-f6f24194b29981316f2412e288cda320"}
这样就没有问题了。获取记录
curl -X GET http://127.0.0.1:5984/db1/1925a2a284289df9b55b390525001ca1
{"_id":"1925a2a284289df9b55b390525001ca1","_rev":"2-f6f24194b29981316f2412e288cda320","title":"test","content":"this is test!"}
列出db1库下的所有文档
curl -X GET http://127.0.0.1:5984/db1/_all_docs
{"total_rows":2,"offset":0,"rows":[
{"id":"1925a2a284289df9b55b390525001ca1","key":"1925a2a284289df9b55b390525001ca1","value":{"rev":"2-f6f24194b29981316f2412e288cda320"}},
{"id":"1925a2a284289df9b55b390525002c29","key":"1925a2a284289df9b55b390525002c29","value":{"rev":"1-4a1158c264f8cc636e1fc54a7a696de6"}}
]}删除记录
curl -X DELETE http://127.0.0.1:5984/db1/1925a2a284289df9b55b390525001ca1?rev=2-f6f24194b29981316f2412e288cda320
上传附件
curl -X PUT http://127.0.0.1:5984/db1/40dab8a067c56aef572307dd1f0119c8 -d '{"title":"test","content":"this is test!"}'
curl -X PUT http://127.0.0.1:5984/db1/40dab8a067c56aef572307dd1f0119c8/atwork.jpg?rev=2-2739352689 --data-binary @atwork.jpg -H "Content-Type:image/jpg"
atwork.jpg是当前目录下的图片文件。
数据库复制
本地复制
curl -X PUT http://127.0.0.1:5984/albums-replica
curl -X POST http://127.0.0.1:5984/_replicate -d '{"source":"albums","target":"albums-replica"}' -H "Content-Type: application/json"本地到远端复制
curl -X POST http://127.0.0.1:5984/_replicate -d '{"source":"albums","target":"http://example.org:5984/albums-replica"}' -H "Content-Type:application/json"
如果远端服务器有密码,可以采用这种格式:http://username:pass@remotehost:5984/demo
远端到本地
curl -X POST http://127.0.0.1:5984/_replicate -d '{"source":"http://example.org:5984/albums-replica","target":"albums"}' -H "Content-Type:application/json"
远端到远端
curl -X POST http://127.0.0.1:5984/_replicate -d '{"source":"http://example.org:5984/albums","target":"http://example.org:5984/albums-replica"}' -H "Content-Type: application/json"
curl操作CouchDB的更多相关文章
- python操作CouchDB
安装python couchDb库: https://pypi.python.org/pypi/CouchDB/0.10 连接服务器 >>> import couchdb >& ...
- 使用curl操作openstack swift
openstack官网有专门的开发者文档介绍如何使用curl操作swift(http://docs.openstack.org/api/openstack-object-storage/1.0/con ...
- 使用curl操作InfluxDB
这里列举几个简单的示例代码,更多信息请参考InfluxDB官方文档: https://docs.influxdata.com/influxdb/v1.1/ 环境: CentOS6.5_x64Influ ...
- ElasticSearch之CURL操作(有空再去整理)
https://www.cnblogs.com/jing1617/p/8060421.html ElasticSearch之CURL操作 CURL的操作 curl是利用URL语法在命令行方式下工 ...
- 在windows+nginx的curl操作请求超时的问题
之前的项目在apache下进行本地curl操作的时候请求不会超时 后来要在nginx下开发的时候,我在项目中写一个curl操作的test.php文件,请求相同项目下的一个index.php文件,然后c ...
- Curl操作Elasticsearch的常用方法
Elasticsearch对于文档操作,提供了以下几种API,本文就说明如何使用curl方式来调用这些API. API种类 单文档操作API 1.* Index API 索引文档 * 为文档创建索引 ...
- kubenetes master使用curl 操作API
前提条件: 已经使用kubeadm 安装集群 查看 kebelet.conf 配置内容 kubectl --kubeconfig /etc/kubernetes/kubelet.conf config ...
- ElasticSearch之CURL操作
CURL的操作 curl是利用URL语法在命令行方式下工作的开源文件传输工具,使用curl可以简单实现常见的get/post请求.简单的认为是可以在命令行下面访问url的一个工具.在centos ...
- elasticsearch(5) curl 操作elasticsearch
创建索引之前可以对索引做初始化操作, 比如指定shards数量以及replicas的数量. library为索引的名称 CURL -XPUT 'http://192.168.1.10:9200 ...
随机推荐
- PHP+ajaxfileupload与jcrop插件结合 完成头像上传
昨天花了点时间整合了一下头像插件 东拼西凑的成果 先来看下效果
- Opencv摄像头实时人脸识别
Introduction 网上存在很多人脸识别的文章,这篇文章是我的一个作业,重在通过摄像头实时采集人脸信息,进行人脸检测和人脸识别,并将识别结果显示在左上角. 利用 OpenCV 实现一个实时的人脸 ...
- Web.Config文件配置小记
<system.web> <!-- 设置 compilation debug="true" 将调试符号插入 已编译 ...
- HTML5+CSS3实现图片可倾斜摆放的动画相册效果
先看看效果:其中鼠标悬浮在图片上会有动态效果图 直接上代码: css文件 @CHARSET "UTF-8"; *{ padding:0px; margin:0px; } div{ ...
- Xamarin.Android之给我们的应用加点过渡效果
零.前言 试想一下,我们的应用正在请求一些数据,假设网络不是很好,要花比较长的时间等待,这个时候界面什么反应也没有, 一动不动,用户可能就会认为应用挂掉了,这么久都没反应的,说不定下一分钟用户就把它卸 ...
- C# EPL USB 指令打印
private void btnPrinter_Click(object sender, EventArgs e) { #region ESC 热敏图像点阵像素点读取打印 //Bitmap bitma ...
- .NET基础架构方法—DataTableToList通用方法
p { display: block; margin: 3px 0 0 0; } --> .NET架构基础方法—DataTableToList通用方法 我们经常需要将从数据库中所读取的数据以 ...
- Asp.net 面向接口可扩展框架之类型转化基础服务
新框架正在逐步完善,可喜可贺的是基础服务部分初具模样了,给大家分享一下 由于基础服务涉及面太广,也没开发完,这篇只介绍其中的类型转化部分,命名为类型转化基础服务,其实就是基础服务模块的类型转化子模块 ...
- 如何寻找“真爱”型合伙人
曾与朋友笑侃,现在找人结婚,跟合伙开公司差不多,各自条件一一对比,细细斟酌,最后双方达成一致,才得凑成一对冤家.谁说不是呢?两种关系都实为"伙伴",开公司重" ...
- Nodejs与ES6系列3:generator对象
3.generator对象 Generator函数是ES6提供的一种异步编程解决方案,语法行为与传统函数完全不同.Generator的中文翻译是生成器,它是ECMAScript6(代号harmory) ...