CouchDB是一个真实世界的例子

Rag*_*geZ 40 couchdb

今晚在我的日常技术谷歌搜索中我遇到了couchDB,在看到大量关于它如何比任何RDBM表现好十到一百倍的演示文稿之后,如何将它们从SQL语言,表格,主键等等中拯救出来.我决定亲自尝试一下.只有问题似乎我无法弄清楚它是如何工作的.

就像开始一样,我想使用couchDB编写一个Web联系人管理器.该项目将使用户能够做基本的事情

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

那么我该如何开始呢?

这里有一些我的想法

  • 为每个用户创建一个像July,Ann的数据库
  • 在那些数据库中,添加一些带有类型联系人的文档,文档首先看起来像这样看代码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 ...
}
Run Code Online (Sandbox Code Playgroud)

小智 23

O'Reilly即将出版的书籍可以在线免费阅读:http: //books.couchdb.org/relax/

只需安装和玩游戏 - 您可以在命令行上使用curl直接进行http请求,或使用名为futon的内置Web界面.

存储和检索数据非常简单,最困难的部分是考虑map/reduce-views而不是sql查询.


Bri*_*new 8

IBM有一个很棒的教程,利用curl通过REST接口进行读/写.


dno*_*len 5

您的应用程序很容易使用CouchDB.每个用户都有一个数据库.联系人只是特定用户数据库中的文档.CRUD只是使用HTTP与数据库通信.您可以创建发出键(姓氏,名字)以允许排序的视图.

对于强大的搜索,我会推荐couchdb-lucene.