gpt4 book ai didi

rest - CouchDB - CouchApp 的任何替代品?

转载 作者:太空狗 更新时间:2023-10-30 01:55:59 28 4
gpt4 key购买 nike

所以我最近一直在阅读有关 CouchDB 的文章,我真的很喜欢它。它看起来很简单,但又很灵活,我喜欢 RESTful 界面。但让我们面对现实吧——除非您正在构建一个 SAP,否则您会希望您的应用程序提供具有 SEO 友好 URL 的静态 HTML,而不是持续的 HTTP 请求。我还没有在任何项目中实际使用过 CouchDB,但我很想在不久的将来探索它。

问题是:如何使用它来构建静态 HTML 网站,例如博客?我想将我所有的博客文章存储在 CouchDB 中,然后根据类别、标签和日期将它们作为 HTML 提供。如果我理解正确,我会在我的设计文档中定义一组展示。因此,例如,在“工作”类别中所有帖子的设计文档中,我还会为显示 模板添加一个单独的功能。但是,将我的 HTML 存储在 JSON 文件中的 JavaScript 函数中时遇到了一些问题!这听起来很难维护。我快速浏览了 CouchApp,它似乎解决了这个问题,但它似乎并未在积极开发中,因此我对其他可能的解决方案有疑问。

我希望能够像往常一样构建我的 HTML/CSS/JS,但尽可能利用 CouchDB 的优势,而无需任何外部后端。或者甚至更好——我很乐意将我的数据库定义为 JSON 文件,我的 map 作为常规 .js 文件运行并维护经典目录其他一切的结构,例如:

db/data - 这包含 CouchDB

db/maps - 这包含我的 map 函数

public/ - 这包含其他所有内容,包括其他 JS、CSS 和 HTML,如下所示:

public/css
public/js
public/categories.html
public/posts.html
public/index.html

等等

关于如何实现此目标的任何想法?或者是否有可能?

奖励问题:有人能解释一下什么是reduce函数吗?它们是 sumcount 函数的 SQL 等价物吗?我什么时候真正使用 reduce 函数?我什么时候需要编写自定义的?

谢谢!

最佳答案

CouchDB 是专为 web 设计的数据库,它是开箱即用的 RESTful API,这就是为什么 CouchApps 如此简单、开发速度快,并且不需要后端,因为 CouchDB 实际上就是您的后端。

我知道维护从 CouchDB 推送的 HTML 很困难,它也很昂贵,所以我构建 CouchApps 的方式是使用 Backbone 创建一个前端应用程序,管理我所有的路由(友好的 URL),使用模板(任何模板框架,我使用简单的 requirejs !text),并像普通的 HTML/CSS/JS 一样开发应用程序,对 CouchDB View 进行 Ajax 调用(使用列表转换数据,因此只需返回干净的 JSON),如果我想要一个特定的文档,也可以这样做,只需使用 Shows,我就会再次获得 JSON 数据。

所以最后是作为一个 Web 应用程序与 RESTful API 对话并解释该数据以根据需要显示它。

然后您将该应用程序推送到 CouchDB(现在它是一个 couchapp),因此 CouchDB 实际上是将您的应用程序提供给最终用户并将 API 提供给您的应用程序。

减少:这是一个强大的算法,正如你所说的等同于 SQL sumcount,你在 CouchDB 中也有那些减少(_sum_count, _stats).我建议您阅读此链接以了解减少和重新减少。

http://www.ramblingincode.com/building-a-couchdb-reduce-function/

关于rest - CouchDB - CouchApp 的任何替代品?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31632303/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com