Couchapp目录结构,更新?

时间:2011-04-12 00:29:31

标签: couchdb couchapp

当生成一个新的couchapp时,我得到了这个结构:

appname
├── _attachments
│   └── style
├── evently
│   ├── items
│   │   └── _changes
│   └── profile
│       └── profileReady
│           └── selectors
│               └── form
├── lists
├── shows
├── updates
├── vendor
│   └── couchapp
│       ├── _attachments
│       ├── evently
│       │   ├── account
│       │   │   ├── adminParty
│       │   │   ├── loggedIn
│       │   │   ├── loggedOut
│       │   │   ├── loginForm
│       │   │   │   └── selectors
│       │   │   │       └── form
│       │   │   └── signupForm
│       │   │       └── selectors
│       │   │           └── form
│       │   └── profile
│       │       ├── loggedOut
│       │       ├── noProfile
│       │       │   └── selectors
│       │       │       └── form
│       │       └── profileReady
│       └── lib
└── views
    └── recent-items

现在,由于此结构旨在反映CouchDB _design文档的JSON结构,我想出了这一点:

  • [_ attachments]附件存储为二进制。 JavaScript,CSS和HTML文件存储在此处。

  • [evently] ???

  • [lists]列表是为了从视图结果中呈现HTML或AtomFeeds而执行的JavaScript函数。

  • [show]显示函数是列表函数的模拟函数,但通过将文档转换为其他格式(例如html,xml,csv,png)来呈现内容。

  • [更新] ???

  • [供应商]外部图书馆的主页。

  • [views]视图包含MapReduce函数,稍后可通过HTTP API查询(参见\ ref {couchdb:views})。

来自我的公寓希望填写的描述不完全错误,我将如何描述更新目录?这是托管验证功能吗?

第二个问题是如何描述事件目录...

如果已经存在此摘要,请指出它!

亲切的问候!

3 个答案:

答案 0 :(得分:4)

generate命令构建CouchDB所需的骨干文档格式;它还构建了一个Web应用程序开发框架,Evently。我不太了解事件;但基本上它给开发人员提供了工具和建议,使UI和沙发互动。

就个人而言,我从不使用couchapp generate命令。我只是从头创建_id文件(echo -n _design/whatever > _id),然后根据需要创建文件夹和文件。

列表函数(每个文件一个)接收_view输出以产生任何HTTP响应(例如XML RSS)。

显示函数(每个文件一个)接收一个文档以生成任何HTTP repsonse。

更新功能(每个文件一个)接收一个HTTP 查询并输出一个准备好的文档以供沙发存储。 (例如,接收表单提交并构建JSON文档。)

查看函数(文件夹中的一个map.js和一个reduce.js)是CouchDB视图,并提供查询和内容。

我不确定updatesvendor。它们与CouchDB服务器无关。

答案 1 :(得分:4)

我一直在使用couchapp大约一两个星期。我花了一段时间来掌握couchDB的工作方式以及couchapp的适用性。事实上,我遇到了你所遇到的问题,而且我现在肯定每个对couchapp的新手都会在脑海中留下这些问题。为了至少节省时间,我发布了一些有助于更好地回答你所要求的问题的链接。链接如下:

希望他们有所帮助。

答案 2 :(得分:3)

更新功能are documented in the CouchDB wiki。引用它:

  

[...]你应该考虑_update处理程序作为_show函数的补充,而不是validate_doc_update函数。

最终is documented on CouchApp site。文档很薄弱,我在项目中使用它,我只找到a short blog post有用的信息。幸运的是the source code很容易理解。但请查看Pages应用以了解示例用法。无论如何,我不清楚how much used is it