CouchDB是一个真实的的例子

hc8w905p  于 2022-12-09  发布在  CouchDB
关注(0)|答案(3)|浏览(152)

今晚在我的日常技术谷歌搜索中,我看到了couchDB,在看到了大量关于它如何比任何RDBM好十到百倍的演示之后,我决定自己尝试一下。唯一的问题是我似乎无法弄清楚它是如何工作的。
首先,我想用couchDB编写一个web联系人管理器。

  • 创建/编辑/删除联系人
  • 查看他们联系人列表
  • 根据各种标准搜索它们

那我该怎么开始呢?
这里我的一些想法

  • 为每个用户创建一个数据库,如July、Ann
  • 在这些数据库中,添加一些类型为contact的文档,该文档在第一个位置看起来如下所示,参见代码1
  • 创建/编辑/删除非常简单,只需在良好的数据库中执行PUT、POST、DELETE操作
  • 像dnolen建议的那样,搜索将由couchdb-lucene处理

现在困难的部分来了,我真的不太理解整个map/reduce的概念,也不太理解如何使用它来完成我以前用SQL做的工作。还有,对于视图,你如何处理分页,还有分组。
我想建立一个页面链接集的屏幕类似于

John, Doe
Johny, Hallyday
Jon, Skeet

A B C D E F **J** etc .... <-- those are link to see persons with that first name

我应该创建什么视图来实现这一点,如果你能提供样本,这将是美妙的。
联系人文档。

{
    type: 'contact',
    firstname: 'firstname',
    lastname: 'lastname',
    email: ['home': 'foobar@foobar.net', 'work': 'foobar@foobar-working.net'],
    phone: ['home': '+81 00 0000 0000'],
    address: []
    ... some other fields maybe ...
}
s3fp2yjn

s3fp2yjn1#

O 'Reilly即将出版的这本书可在线免费阅读:http://books.couchdb.org/relax/
只需安装和运行--你可以在命令行上使用curl直接请求http,或者使用内置的web界面futon。
存储和检索数据真的很容易,最难的部分是用map/reduce视图而不是sql查询来思考。

mlmc2os5

mlmc2os52#

IBM有一个很棒的tutorial,它利用curl通过REST接口进行读/写。

8wtpewkr

8wtpewkr3#

您的应用程序很容易使用CouchDB。每个用户都有一个数据库。联系人只是特定用户数据库中的文档。CRUD只是使用HTTP与数据库进行对话。您可以创建发出关键字(姓、名)的视图,以便进行排序。
对于强大的搜索,我推荐couchdb-lucene。

相关问题