【发布时间】:2015-03-21 15:39:20
【问题描述】:
我是 couchDB 的新手,但在使用关系数据库方面有很好的经验。谁能告诉如何连接到 couchDB 数据库并检索存储在其中的数据。我在关系数据库中给出了一个示例,我需要有关如何在 couchDB 中执行类似任务的帮助。在 mysql 中,我们使用连接器连接到数据库,例如我们给出“从表名中选择用户名,其中密码 =”abc” ”。
【问题讨论】:
标签: couchdb
我是 couchDB 的新手,但在使用关系数据库方面有很好的经验。谁能告诉如何连接到 couchDB 数据库并检索存储在其中的数据。我在关系数据库中给出了一个示例,我需要有关如何在 couchDB 中执行类似任务的帮助。在 mysql 中,我们使用连接器连接到数据库,例如我们给出“从表名中选择用户名,其中密码 =”abc” ”。
【问题讨论】:
标签: couchdb
CouchDB 使用 HTTP 和 JSON,然后您可以使用任何 HTTP 客户端和 JSON 解析器/生成器。你可以在The Definitive Guide找到一个很好的介绍。
【讨论】:
试试这个网址:http://localhost:5984/_utils/,它将打开 FUTON 编辑器。
【讨论】:
CouchDB 是一个 NOSQL 数据库。所以它使用 HTTP 请求(基于 url)工作。 couchDB 中存储的数据是 JSON 文档的形式,所以没有表的概念。简而言之,SQL中的数据库代表couchDB中的数据库,SQL表中的行代表couchDB中的文档。
回到您的问题,为了从 couchDB 中检索数据,有一个称为视图的概念,它使用 Map 和 Reduce 函数(它们是 JavaScript 函数)。使用这些视图 couchDB 索引您的搜索函数跨越整个数据库(包括所有文档),因此您需要编写一个 Map 函数指定用于搜索的条件。这是一个例子-
function(doc) {
if (doc.password) {
emit(doc.username, doc);
}
}
上面的例子是一个简单的 Map 函数。搜索有密码的数据库文档,返回数据库中所有文档的用户名。密码输入值(在本例中为“abc”)应在您将发送到 couchDB URL 的查询字符串中指定。现在,您可能会问指定要搜索的数据库在哪里?我说我们必须创建视图才能进行搜索。这些视图存储在您要搜索的特定数据库中。因此,如果要搜索名称为“User_Credentials”的数据库,则使用上述 Map 函数在“User_Credentials”中创建一个视图。更多细节可以在这里找到:CouchDB Guide to Views
【讨论】: