+ CouchDB入门

本文介绍了Apache CouchDB数据库的安装过程,包括在CentOS上的配置步骤,以及如何使用Futon Web界面进行管理。此外,还详细展示了通过CouchDB API进行数据库和文档的创建、读取、更新和删除操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、简介
Apache CouchDB数据库,它类似于Redis,Cassandra和MongoDB,也是一个NoSQL数据库。 CouchDB将数据存储为非关系性的JSON文档。 这使得CouchDB的用户可以以与现实世界相似的方式来存储数据。
        可以从命令行或一个叫作Futon的Web界面来管理CouchDB。 Futon可用于执行管理任务,如创建和操作CouchDB的数据库,文档和用户等。




二、地址
  https://couchdb.apache.org/#download
cenos安装: 编辑 /etc/yum.repos.d/bintray-apache-couchdb-rpm.repo

[AppleScript] 纯文本查看 复制代码
?
1
2
3
4
5
6
[bintray--apache-couchdb-rpm]
name=bintray--apache-couchdb-rpm
baseurl=http://apache.bintray.com/couchdb-rpm/el$releasever/$basearch/
gpgcheck=0
repo_gpgcheck=0
enabled=1


然后安装  yum -y install epel-release && sudo yum -y install couchdb
三、访问管理
启动后,可以通过浏览器访问页面 http://localhost:5984/_utils/index.html 来验证安装是否成功,也可以通过此页面管理CouchDB。
或者通过 curl 命令行来验证

[AppleScript] 纯文本查看 复制代码
?
1
2
$ curl http://localhost:5984
{"couchdb":"Welcome","version":"2.3.1","git_sha":"c298091a4","uuid":"04de5436d56ab4a1a4ace6c16555fbe4","features":["pluggable-storage-engines","scheduler"],"vendor":{"name":"The Apache Software Foundation"}}


默认CouchDB只能被通过本机访问,可以通过修改vim /opt/couchdb/etc/default.ini文件中的 bind_address 配置来实现,然后重新启动CouchDB。

[AppleScript] 纯文本查看 复制代码
?
1
2
3
4
bind_address = 127.0.0.1
改成
bind_address = 0.0.0.0



通过 CouchDB 的 API 来进行常规操作

[AppleScript] 纯文本查看 复制代码
?
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# 创建数据库
$ curl -X PUT http://localhost:5984/mydb
{"ok":true}
 
# 查看所有数据库
$ curl -X GET http://localhost:5984/_all_dbs
["mydb"]
 
# 查看数据库信息
$ curl -X GET http://localhost:5984/mydb | json_reformat
{
    "db_name": "mydb",
    "purge_seq": "0-g1AAAAFTeJzLYWBg4MhgTmEQTM4vTc5ISXIwNDLXMwBCwxygFFMeC5BkeACk_gNBViIDQbUHIGrvE6N2AUTtfmLUNkDUzsevNikBSCbVE3RrkgNIXTxhdQogdfYE1SUyJMlDFGUBAD9sXo4",
    "update_seq": "0-g1AAAAFTeJzLYWBg4MhgTmEQTM4vTc5ISXIwNDLXMwBCwxygFFMiQ5L8____sxIZ8ChKUgCSSfaE1TmA1MUTVpcAUldPUF0eC5BkaABSQKXziVG7AKJ2PzFqD0DU3idG7QOIWpB7swBegl6O",
    "sizes": {
        "file": 33992,
        "external": 0,
        "active": 0
    },
    "other": {
        "data_size": 0
    },
    "doc_del_count": 0,
    "doc_count": 0,
    "disk_size": 33992,
    "disk_format_version": 7,
    "data_size": 0,
    "compact_running": false,
    "cluster": {
        "q": 8,
        "n": 1,
        "w": 1,
        "r": 1
    },
    "instance_start_time": "0"
}


创建文档

[AppleScript] 纯文本查看 复制代码
?
1
2
$ curl -X POST http://localhost:5984/mydb -d '{"name":"kongxx", "age": 30, "sex": 1}' -H "Content-Type:application/json"
{"ok":true,"id":"a10691778356d48a39f4ec6784000d2c","rev":"1-1b738f642df6eb80b3eb3e2839bbd10f"}


查看所有文档

[AppleScript] 纯文本查看 复制代码
?
1
2
3
$ curl -X GET http://localhost:5984/mydb/_all_docs
{"total_rows":1,"offset":0,"rows":[
{"id":"a10691778356d48a39f4ec6784000d2c","key":"a10691778356d48a39f4ec6784000d2c","value":{"rev":"1-1b738f642df6eb80b3eb3e2839bbd10f"}}


更新文档

[AppleScript] 纯文本查看 复制代码
?
01
02
03
04
05
06
07
08
09
10
# 先查询一下文档[/b]$ curl -X GET http://localhost:5984/mydb/a10691778356d48a39f4ec6784000d2c
{"_id":"a10691778356d48a39f4ec6784000d2c","_rev":"1-1b738f642df6eb80b3eb3e2839bbd10f","name":"kongxx","age":30,"sex":1}
 
# 更新文档,需要指定 _rev
$ curl -X PUT http://localhost:5984/mydb/a10691778356d48a39f4ec6784000d2c/ -d '{"name":"kongxx", "age": 36, "sex": 1,  "_rev": "1-1b738f642df6eb80b3eb3e2839bbd10f"}'
{"ok":true,"id":"a10691778356d48a39f4ec6784000d2c","rev":"2-9b552a207bbdea7e7b6ce6cb184c6f4e"}
 
# 更新文档后查询
$ curl -X GET http://localhost:5984/mydb/a10691778356d48a39f4ec6784000d2c
{"_id":"a10691778356d48a39f4ec6784000d2c","_rev":"2-9b552a207bbdea7e7b6ce6cb184c6f4e","name":"kongxx","age":36,"sex":1}


删除文档

[AppleScript] 纯文本查看 复制代码
?
1
2
3
4
5
6
7
# 删除文档
$ curl -X DELETE http://localhost:5984/mydb/a10691778356d48a39f4ec6784000d2c?rev=2-9b552a207bbdea7e7b6ce6cb184c6f4e
{"ok":true,"id":"a10691778356d48a39f4ec6784000d2c","rev":"3-60f90d5d7f1866688cbd55833b2b8c3a"}
 
# 查询文档
$ curl -X GET http://localhost:5984/mydb/a10691778356d48a39f4ec6784000d2c
{"error":"not_found","reason":"deleted"}



删除数据库

[AppleScript] 纯文本查看 复制代码
?
1
$ curl -X DELETE http://localhost:5984/mydb[/b]{"ok":true}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值