CouchDB – 创建文档
CouchDB – 创建文档
文档是 CouchDB 的中心数据结构。数据库的内容将以文档的形式而不是表格的形式存储。您可以使用 CouchDB 提供的 cURL 实用程序以及 Futon 创建这些文档。本章介绍了在数据库中创建文档的方法。
CouchDB 中的每个文档都有一个唯一的 ID。您可以选择自己的 ID,该 ID 应为字符串形式。通常使用 UUID(Universally Unique IDentifier),它是最不可能产生重复的随机数。这些是首选以避免冲突。
使用 cURL 实用程序创建文档
您可以通过 cURL 实用程序使用 PUT 方法向服务器发送 HTTP 请求,从而在 CouchDB 中创建文档。以下是创建文档的语法。
$ curl -X PUT http://127.0.0.1:5984/database name/"id" -d ' { document} '
使用-X,我们可以指定我们正在使用的 HTTP 的自定义请求方法,同时与 HTTP 服务器通信。在这种情况下,我们使用 PUT 方法。当我们使用 PUT 方法时,url 的内容指定了我们使用 HTTP 请求创建的对象名称。在这里,我们必须发送以下内容 –
-
我们在其中创建文档的数据库名称的名称。
-
文档 ID。
-
文档的数据。-d选项用于通过 HTTP 请求发送数据/文档。在编写文档时,只需在花括号内输入以冒号分隔的 Field-Value 对,如下所示 –
{ Name : Raju age : 23 Designation : Designer }
例子
如果您想在名为my_database的数据库中创建一个 id 为001的文档,则使用上面给出的语法,您可以创建它,如下所示。
$ 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 接受更改时,它将生成一个新的修订号。这种机制确保了并发控制。
确认
如果您想查看创建的文档,您可以使用如下所示的文档来获取它。
$ curl -X GET http://127.0.0.1:5984/my_database/001 { "_id": "001", "_rev": "1-3fcc78daac7a90803f0a5e383f4f1e1e", "Name": "Raju", "age": 23, "Designation": "Designer" }
使用 Futon 创建文档
要创建文档,请打开http://127.0.0.1:5984/_utils/ url 以获取 CouchDB 的概览/索引页面,如下所示。
选择要在其中创建文档的数据库。打开数据库的概览页面并选择新建文档选项,如下所示。
当您选择New Document选项时,CouchDB 会创建一个新的数据库文档,并为其分配一个新的 id。您可以编辑 id 的值,也可以以字符串的形式分配您自己的值。在下图中,我们创建了一个 ID 为 001 的新文档。
在此页面中,您可以看到三个选项 – 保存文档、添加字段和上传附件。
将字段添加到文档
要向文档添加字段,请单击“添加字段”选项。创建数据库后,您可以使用此选项向其添加字段。点击它会给你一对文本框,即字段,值。您可以通过单击这些值来编辑它们。编辑这些值并键入所需的 Field-Value 对。单击绿色按钮保存这些值。
在下图中,我们创建了三个字段 Name、age 和 Designation of the employee。
保存文件
您可以通过单击此选项来保存对文档所做的更改。保存后会生成一个新的id _rev,如下图。