1、简介
Apache CouchDB数据库,它相似于Redis,Cassandra和MongoDB,也是一个NoSQL数据库。 CouchDB将数据存储为非关系性的JSON文档。 这使得CouchDB的用户能够以与现实世界类似的方式来存储数据。
能够从命令行或一个叫做Futon的Web界面来管理CouchDB。 Futon可用于执行管理任务,如建立和操做CouchDB的数据库,文档和用户等。 html
2、地址
https://couchdb.apache.org/#d...
cenos安装: 编辑/etc/yum.repos.d/bintray-apache-couchdb-rpm.repo git
[AppleScript]纯文本查看__复制代码数据库
?apache
[bintray
`--apache-couchdb-rpm]`json
name
`=bintray
--apache-couchdb-rpm`vim
baseurl
`=http
:/
/apache.bintray.com
/couchdb
-rpm
/el$releasever
/$basearch
/`浏览器
gpgcheck
`=`0
app
repo_gpgcheck
`=`0
curl
enabled
`=`1
ui
而后安装 yum -y install epel-release&&sudo yum -y install couchdb
3、访问管理
启动后,能够经过浏览器访问页面 http://localhost:5984/_utils/index.html 来验证安装是否成功,也能够经过此页面管理CouchDB。
或者经过 curl 命令行来验证
[AppleScript]纯文本查看__复制代码
$ 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]纯文本查看__复制代码
将
bind_address
=
127.0
`.`0.1
改为
bind_address
=
0.0
`.`0.0
经过 CouchDB 的 API 来进行常规操做
[AppleScript]纯文本查看__复制代码
# 建立数据库
$ 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]纯文本查看__复制代码
$ 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]纯文本查看__复制代码
$ curl
-
`X GET http:
//
localhost:
5984/
mydb/
_all_docs`
{
`"total_rows":
1,
"offset":
0,
"rows":
[`
{
`"id":
"a10691778356d48a39f4ec6784000d2c",
"key":
"a10691778356d48a39f4ec6784000d2c",
"value":
{"rev"
:"1-1b738f642df6eb80b3eb3e2839bbd10f"
}`}
**更新文档
[AppleScript]纯文本查看__复制代码
# 先查询一下文档[/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/
a10691778356
d48
a39
f4
ec6784000
d2
c/` `-
d '{
"name":
"kongxx",` `"age"
:
36,` `"sex"
:
1,` `"_rev"
:
"1-1b738f642df6eb80b3eb3e2839bbd10f"}
'`
{
`"ok":
true,
"id":
"a10691778356d48a39f4ec6784000d2c",
"rev":
"2-9b552a207bbdea7e7b6ce6cb184c6f4e"`}
# 更新文档后查询
$ curl
-
`X GET http:
//
localhost:
5984/
mydb/
a10691778356
d48
a39
f4
ec6784000
d2
c`
{
`"_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/
a10691778356
d48
a39
f4
ec6784000
d2
c?rev=
2-9
b552
a207
bbdea7
e7
b6
ce6
cb184
c6
f4
e`
{
`"ok":
true,
"id":
"a10691778356d48a39f4ec6784000d2c",
"rev":
"3-60f90d5d7f1866688cbd55833b2b8c3a"`}
# 查询文档
$ curl
-
`X GET http:
//
localhost:
5984/
mydb/
a10691778356
d48
a39
f4
ec6784000
d2
c`
{
`"error":
"not_found",
"reason":
"deleted"`}
删除数据库**
[AppleScript]纯文本查看__复制代码
1
$ curl
-
`X DELETE http:
//
localhost:
5984/
mydb[/
b]{
"ok":
true`}