+ CouchDB入門

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`=`0app

repo_gpgcheck`=`0curl

enabled`=`1ui

而後安裝  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/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`}

相關文章
相關標籤/搜索