快轉到主要內容

CouchDB的安裝與使用簡介

·650 字·2 分鐘
Y Cheung
作者
Y Cheung
Blogger, Programer & Traveler.
目錄

CouchDB 是一個通過 RESTful API 訪問的多版本控制文檔型存儲的 NoSQL,支持 Map/Reduce,不支持動態查詢。

安裝CouchDB
#

RedHat 系統執行命令安裝:

1sudo yum -y install epel-release && yum install couchdb

你也可以下載源碼自己編譯安裝,(不建議,超麻煩,Y.Cheung 已經失敗好多次)。

安裝好之後啟用服務

1sudo service couchdb start

訪問CouchDB
#

瀏覽器訪問網址 http://127.0.0.1:5984/_utils/index.html

CouchDB index page

校驗安裝 http://localhost:5984/_utils/verify_install.html

CouchDB配置 http://localhost:5984/_utils/config.html

創建管理員用戶
#

CouchDB 默認所有用戶都可以以管理員賬戶訪問數據庫,因此為了安全需要為數據庫創建管理員賬戶。

點擊web界面右下角的Fix this鏈接創建用戶:

Fix this

然後在彈出窗口中輸入用戶名和密碼,並點擊Create創建。

Create Server Admin

完成後右下角會顯示:

創建/刪除數據庫
#

創建數據庫 new_database

1curl -X PUT http://localhost:5984/new_database -u "admin:password"

刪除數據庫 new_database

1curl -X DELETE http://localhost:5984/new_database -u "admin:password"

如果成功,都會返回:

1{"ok":true}

插入/更新/刪除/查看數據文檔
#

  • 插入
1curl -X PUT http://127.0.0.1:5984/my_database/"001" -d '{ " Name " : " Raju " , " age " :" 23 " , " Designation " : " Designer " }'
  • 刪除數據文檔
1curl -X GET http://127.0.0.1:5984/my_database/001
  • 指定版本號進行刪除
1curl -X DELETE http://127.0.0.1:5984/my_database/001?rev=1-3fcc78daac7a90803f0a5e383f4f1e1e
  • 查看數據文檔
1curl -X GET http://127.0.0.1:5984/my_database/001
  • 更新數據文檔 更新數據文檔需要指定版本號,所以流程上需要先獲取當前文檔的版本號 _rev,然後根據這個 _rev 進行PUT更新。比如
1curl -X GET http://127.0.0.1:5984/my_database/001

獲取得到結果中的 _rev2-04d8eac1680d237ca25b68b36b8899d3

1{
2   "_id" : "001",
3   "_rev" : "2-04d8eac1680d237ca25b68b36b8899d3 " ,
4   "age" : "23"
5}

然後在更新的json文檔中加入這個_rev字段,如下:

1curl -X PUT http://127.0.0.1:5984/my_database/001/ -d ' { " age " : " 24 " , " _rev " : " 1-1c2fae390fa5475d9b809301bbf3f25e " } '

參考此文檔

通用數據庫操作指令索引
#

跨於資源共享CORS問題解決方法
#

在CouchDB配置 http://localhost:5984/_utils/config.html 中更改以下設置

1[httpd]
2enable_cors = true
3
4[cors]
5origins = *

參考cross-origin-resource-sharing

相關文章

drupal 7中操作遠程oracle數據庫

·584 字·2 分鐘
系統環境需求 # PHP環境最好是 PHP 7,系統最好是紅帽系。 操作步驟 # 安裝Oracle Instant Client # 在Oracle官網頁面中找到系統對應的客戶端下載安裝,比如Y CHEUNG選擇的就是 Instant Client Downloads for Linux x86-64 ,Fedora可以下載RPM包直接安裝,非RedHat系統的可能需要先編譯,用make install的方式安裝。

在DRUPAL 7自定義多行表格表單中設置添加行按鈕與刪除行按鈕

·1506 字·4 分鐘
標題有點拗口,YCHEUNG也想不出來更好的中文表達,沒懂的朋友直接看內文吧(或者看url的英文標題)。 這種功能的表格表單YCHEUNG已經嘗試了五六種方式來寫,但都不滿意。不然就是功能上多少有缺陷,比如無法使用drupal 7 form API的日期type,不然就是很繁瑣的一堆代碼和判斷,看着都頭暈……等,今天終於試出了一個令YCHEUNG較滿意的寫法!分享給大家,也是一種記錄,YCHEUNG有預感,之後還會寫很多個這樣的表單QAQ

MYSQL外鍵導致無法清空表

·132 字·1 分鐘
最近設計的數據庫表含有外鍵,結果在開發時truncate table的時候報錯了, 1SQL错误(1701):Cannot truncate a table referenced in a foreign key constraint (`rollcall2`.`oncall`, CONSTRAINT `FK__calls` FOREIGN KEY (`calls_id`) REFERENCES `rollcall2`.`calls` (`id`)) 解決辦法如下: 1SET FOREIGN_KEY_CHECKS = 0; 2TRUNCATE table; 3SET FOREIGN_KEY_CHECKS = 1; 當然也可以通過移除外鍵之類的辦法,但是感覺還是用上面幾行命令來解決比較方便。

Centos 7 使用 certbot 安裝Let’s Encrypt SSL 證書

·707 字·2 分鐘
安裝環境 # CentOS7 主機 Nginx 操作步驟 # 安裝certbot # 1#如果你已經安裝了EPEL,這個步驟可以省略 2sudo yum install epel-release 3#安裝certbot客戶端 4sudo yum install certbot 使用嚮導自動安裝證書 # 使用certbot嚮導安裝,有界面,根據指示一步步操作就行,但是YCHEUNG進行到設置webroot的時候就error了,只好放棄