CouchDB - 创建文档

文档是 CouchDB 的中心数据结构。 数据库的内容将以文档的形式存储,而不是表格。 您可以使用 CouchDB 提供的 cURL 实用程序以及 Futon 创建这些文档。 本章介绍在数据库中创建文档的方法。

CouchDB 中的每个文档都有一个唯一的 ID。 您可以选择自己的 ID,该 ID 应采用字符串形式。 通常,使用 UUID(通用唯一标识符),它是创建重复的可能性最小的随机数。 最好使用这些以避免碰撞。

使用 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 请求发送数据/文档。 编写文档时,只需在花括号内输入用冒号分隔的字段值对,如下所示 −

{
   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 的概述/索引页面,如下所示。

创建文档

选择要在其中创建文档的数据库。 打开数据库的概述页面并选择新建文档选项,如下所示。

新文档

当您选择新建文档选项时,CouchDB 将创建一个新的数据库文档,并为其分配一个新的 ID。 您可以编辑 id 的值,并可以以字符串的形式分配您自己的值。 在下图中,我们创建了一个 ID 为 001 的新文档。

新文档 ID

在此页面中,您可以观察到三个选项− 保存文档,添加字段并上传附件。

向文档添加字段

要将字段添加到文档,请单击添加字段选项。 创建数据库后,您可以使用此选项向其中添加字段。 单击它将出现一对文本框,即字段,值。您可以通过单击来编辑这些值。 编辑这些值并输入所需的字段值对。 单击绿色按钮保存这些值。

在下图中,我们创建了三个字段"姓名"、"年龄"和"员工职称"。

创建字段

保存文档

您可以通过单击此选项保存对文档所做的更改。 保存后,将生成一个新的id_rev,如下所示。

保存文档