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