当生成一个新的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})。
来自我的公寓希望填写的描述不完全错误,我将如何描述更新目录?这是托管验证功能吗?
第二个问题是如何描述事件目录...
如果已经存在此摘要,请指出它!
亲切的问候!
答案 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视图,并提供查询和内容。
我不确定updates
和vendor
。它们与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。