【发布时间】:2010-08-21 05:39:33
【问题描述】:
对于上下文:这是一个 HTML 应用程序,几乎没有或没有浏览器端 JavaScript。我无法轻易更改,因此需要在服务器上执行此操作。
CouchDB 的构建没有副作用。这很公平。但是,我似乎没有办法通过节目、视图、列表来改变向用户显示的内容以及后续请求或基于用户对象,而无需写入数据。
获取文档的请求会导致创建新记录吗?我猜这不会是副作用。
但如果可以的话,您可以创建一个日志,然后有一个视图来选择广告公司 一组描述广告的文档,这些文档在显示之前的广告时会受到日志中的更改的影响。
我实际上不会在我的网站上展示广告,我将提供提示、文章摘要和因页面加载而异的次要功能。
任何建议表示赞赏。
我已经考虑如何使用grain 来实现我需要的其余功能,但这一点似乎与couchdb 的工作方式相反。
【问题讨论】:
-
哎呀。这是一个艰难的,吉姆。你能解释一下为什么你在客户端避免使用 js 吗?
-
因为,我将主要使用它来为每个用户定制页面。我避免使用客户端 JavaScript,因为该站点需要对搜索引擎友好。我有更好的方式来描述这个问题。想想 google...当您登录时,google 会根据您的 pat 搜索历史记录注释和 ordervsearch 结果。我需要根据用户的偏好更改我向用户显示的数据,并且我不想为谷歌制作单独的版本,也不想将一千个结果发送给客户进行重新排序。现在,看来我会在前面粘贴 node.js 或其他东西。
-
好的。但是,如果您使用我在下面概述的列表功能,我相信您可以实现这一点。让 list 函数进行重新排序,并确保您从 user-prefs-storing 文档中发出字段作为 View 的一部分, list 函数从中获取其数据。
标签: views couchdb side-effects