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 ...
随机推荐
- Android随笔之——Android单元测试
在实际开发中,开发android软件的过程需要不断地进行测试.所以掌握Android的单元测试是极其重要的.您应该把单元测试作为Android应用开发周期的一部分,精心编写的测试可以在开发早起帮你发现 ...
- [翻译]利用顶点位移的VR畸变校正
文章英文原网址: http://www.gamasutra.com/blogs/BrianKehrer/20160125/264161/VR_Distortion_Correction_using_V ...
- Cesium应用篇:3控件(3)SelectionIndicator& InfoBox
假设这样一个场景,用户在Cesium球上加载了一个GeoJson文件(DataSource),里面是全美国所有州的Geometry信息(Entity),叠加到球面后,你自然会有一种冲动,点击某一个州, ...
- Linux上的SQL Server的起步
我们知道,几个星期前,微软发布了在Linux上直接运行的SQL Server第一个公开CTP版本!因此,对我来说,是时候跨界在Linux上安装我的第一个SQL安装,这样的话,我就可以在Linux上折腾 ...
- 那些年我们用过的Python代码
根据正则表达式选择性解压文件 from zipfile import ZipFile import re def is_match(expression, filename): pattern = r ...
- 7.7 数据注解特性--Table
大家可能注意到,有几个特性,我没有翻译,因为实在是太简单了,看一下就知道,之前也学过,现在只是系统学一下,所以就粗略的看一下就行了. 现在学习数据注解特性的--Table特性. Table 特性可以被 ...
- Nancy之Forms authentication的简单使用
一.前言 想必大家或多或少都听过微软推出的ASP.NET Identity技术,可以简单的认为就是一种授权的实现 很巧的是,Nancy中也有与之相类似的技术Authentication,这两者之间都用 ...
- .NET多线程总结和实例介绍
摘要:.Net提供了许多多线程编程工具,可能是因为太多了,所以掌握起来总是有一些头疼,我在这里讲讲我总结的一些多线程编程的经验,希望对大家有帮助. 1.多线程的总结 不需要传递参数,也不需要返回参数 ...
- IOS 动画播放案例
#import "ViewController.h" @interface ViewController () @property (weak,nonatomic) IBOutle ...
- swift相关
1.界面上一个输入框,一个按钮,一个webview .点按钮,webview显示输入框中输入的url的页面. @IBOutlet var wv:UIWebView = nil //定 ...