文檔是CouchDB的中央數(shù)據(jù)結(jié)構(gòu)。 數(shù)據(jù)庫(kù)的內(nèi)容將以Documents的形式而不是表的形式存儲(chǔ)。 您可以使用CouchDB提供的cURL實(shí)用程序以及Futon創(chuàng)建這些文檔。 本章介紹在數(shù)據(jù)庫(kù)中創(chuàng)建文檔的方法。
CouchDB中的每個(gè)文檔都有唯一的ID。 您可以選擇自己的ID,它應(yīng)該是字符串的形式。 通常,使用UUID(通用唯一標(biāo)識(shí)符),其是具有創(chuàng)建副本的最小機(jī)會(huì)的隨機(jī)數(shù)。 優(yōu)選這些以避免碰撞。
使用cURL實(shí)用程序創(chuàng)建文檔
您可以通過(guò)使用PUT方法通過(guò)cURL實(shí)用程序向服務(wù)器發(fā)送HTTP請(qǐng)求,在CouchDB中創(chuàng)建文檔。 以下是創(chuàng)建文檔的語(yǔ)法。
$ curl -X PUT http://127.0.0.1:5984/database name/"id" -d ' { document} '
使用-X,我們可以指定我們使用的HTTP的自定義請(qǐng)求方法,同時(shí)與HTTP服務(wù)器通信。 在這種情況下,我們使用PUT方法。 當(dāng)我們使用PUT方法時(shí),url的內(nèi)容指定我們使用HTTP請(qǐng)求創(chuàng)建的對(duì)象名稱(chēng)。 在這里我們要發(fā)送以下數(shù)據(jù):
- 我們?cè)谄渲袆?chuàng)建文檔的數(shù)據(jù)庫(kù)名稱(chēng)的名稱(chēng)。
- 文檔ID。
- 文檔的數(shù)據(jù)。 -d選項(xiàng)用于通過(guò)HTTP請(qǐng)求發(fā)送數(shù)據(jù)/文檔。 在寫(xiě)文檔時(shí),只需輸入您的Field-Value對(duì),以冒號(hào)分隔,在花括號(hào)中如下所示。
{
Name : Raju
age : 23
Designation : Designer
}
例使用上面給出的語(yǔ)法,如果要在名稱(chēng)為my_database的數(shù)據(jù)庫(kù)中創(chuàng)建id為001的文檔,可以如下所示創(chuàng)建它。
$ curl -X PUT http://127.0.0.1:5984/my_database/"001" -d
'{ " Name " : " Raju " , " age " :" 23 " , " Designation " : " Designer " }'
{"ok":true,"id":"001","rev":"1-1c2fae390fa5475d9b809301bbf3f25e"}
CouchDB對(duì)此請(qǐng)求的響應(yīng)包含三個(gè)字段:
- “ok”,表示操作成功。
- “id”,其存儲(chǔ)文檔的id和
- “rev”,這表示修訂ID。 每次修改(更新或修改)文檔時(shí),CouchDB都會(huì)生成_rev值。 如果要更新或刪除文檔,CouchDB希望您包括要更改的版本的_rev字段。 當(dāng)CouchDB接受更改時(shí),它將生成一個(gè)新的修訂號(hào)。 此機(jī)制確保并發(fā)控制。
驗(yàn)證如果要查看創(chuàng)建的文檔,您可以使用文檔獲取它,如下所示。
$ curl -X GET http://127.0.0.1:5984/my_database/ 001
{
"_id": "001",
"_rev": "1-3fcc78daac7a90803f0a5e383f4f1e1e",
"Name": "Raju",
"age": 23,
"Designation": "Designer"
}
使用Futon創(chuàng)建文檔
要?jiǎng)?chuàng)建文檔,請(qǐng)打開(kāi)http://127.0.0.1:5984/_utils/ url以獲取CouchDB的概述/索引頁(yè)面,如下所示。
選擇您要?jiǎng)?chuàng)建的文檔數(shù)據(jù)庫(kù)。打開(kāi)數(shù)據(jù)庫(kù)的總覽頁(yè)面,選擇New Document選項(xiàng),如下圖所示。
當(dāng)您選擇新建文檔選項(xiàng),CouchDB中創(chuàng)建一個(gè)新的數(shù)據(jù)庫(kù)文件,分配給它一個(gè)新的ID。您可以編輯id的值,可以在一個(gè)字符串的形式指定自己的價(jià)值。在下圖中,我們已經(jīng)創(chuàng)建了一個(gè)新的文檔帶有ID 001。
在此頁(yè)面中,您可以觀察三個(gè)選項(xiàng) - 保存文檔,添加字段和上傳附件。
將字段添加到文檔
要向文檔添加字段,請(qǐng)單擊添加字段選項(xiàng)。 創(chuàng)建數(shù)據(jù)庫(kù)后,可以使用此選項(xiàng)向其中添加字段。 點(diǎn)擊它會(huì)得到一對(duì)文本框,即Field,value。 您可以通過(guò)單擊它們來(lái)編輯這些值。 編輯這些值,然后鍵入所需的字段值對(duì)。 點(diǎn)擊綠色按鈕保存這些值。
在下圖中,我們創(chuàng)建了三個(gè)字段Name,age和,員工的指定。
保存文檔
您可以保存通過(guò)點(diǎn)擊此選項(xiàng)對(duì)文檔所做的更改。保存后,一個(gè)新的id _rev將如下所示生成。
更多建議: