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`}