goo*_*els 5 database rest couchdb nosql couchapp
所以我最近一直在阅读有关 CouchDB 的文章,我真的很喜欢它。它看起来很简单,但很灵活,我喜欢 RESTful 界面。但是让我们面对现实吧——除非您正在构建 SAP,否则您会希望您的应用程序使用 SEO 友好的 URL 来提供静态 HTML,而不是恒定的 HTTP 请求。我还没有在任何项目中实际使用过 CouchDB,但我很想在不久的将来探索它。
问题是:如何使用它来构建静态 HTML 网站,例如博客?我想将我所有的博客文章存储在 CouchDB 中,然后根据类别、标签和日期将它们作为 HTML 提供。如果我正确理解这一点,我只会在我的设计文档中定义一组表演。因此,例如,在“工作”类别中所有帖子的设计文档中,我还将为节目添加一个单独的功能模板。但是,我在将 HTML 存储在 JSON 文件中的 JavaScript 函数中时遇到了一些问题!这听起来维护起来非常痛苦。我快速浏览了 CouchApp,它似乎解决了这个问题,但它似乎并没有在积极开发中,因此我对其他可能的解决方案提出了疑问。
我希望能够像往常一样构建我的 HTML/CSS/JS,但如果可能的话,可以利用 CouchDB 的好处,而无需任何外部后端。或者甚至更好 - 我希望将我的数据库实际定义为 JSON 文件,我的地图作为常规.js文件运行,并为其他所有内容维护经典目录结构,例如:
db/data - 这包含 CouchDB
db/maps - 这包含我的地图功能
public/ - 这包含其他所有内容,包括其他 JS、CSS 和 HTML,如下所示:
public/css
public/js
public/categories.html
public/posts.html
public/index.html
Run Code Online (Sandbox Code Playgroud)
等等。
关于如何实现这一目标的任何想法?或者,如果它甚至可能?
额外的问题:有人能这么好心解释什么是reduce函数吗?它们是sum和count函数的 SQL 等价物吗?我什么时候会真正使用reduce函数?我什么时候需要写一个自定义的?
谢谢!
CouchDB 是为 Web 设计的数据库,它是一个开箱即用的 RESTful API,这就是为什么 CouchApps 如此简单、开发速度快,并且不需要后端,因为 CouchDB 它实际上是您的后端。
我知道维护从 CouchDB 推送的 HTML 很困难,它也很昂贵,所以我构建 CouchApps 的方式是使用 Backbone 创建一个前端应用程序,管理我的所有路由(友好的 URL),使用模板(任何模板框架,我使用简单的 requirejs !text),并像普通 HTML/CSS/JS 一样开发应用程序,对 CouchDB 视图进行 Ajax 调用(使用列表转换数据,因此只需返回干净的 JSON),如果我想要特定文档,也可以执行相同的操作,只需使用显示并再次获得 JSON 数据。
因此,最后是作为一个 Web 应用程序与 RESTful API 通信并解释该数据以根据需要显示它。
然后,您将该应用程序推送到 CouchDB(现在它是一个 couchapp),因此 CouchDB 实际上将您的应用程序提供给最终用户,并将 API 提供给您的应用程序。
减少:
这是一个强大的算法,正如你所说的相当于SQLsum和count,你也有CouchDB减少的那些(,,_sum)。我建议您阅读此链接以了解减少和重新减少。_count_stats
http://www.ramblingincode.com/building-a-couchdb-reduce-function/
| 归档时间: |
|
| 查看次数: |
1459 次 |
| 最近记录: |