对于上下文:这是一个HTML应用程序,很少或没有浏览器端JavaScript。我无法轻易改变,所以需要在服务器上执行此操作。
CouchDB的构建没有副作用。这很公平。但似乎没有任何方法我可以设想节目,视图,列表来改变向后续请求显示给用户的内容,或基于用户对象,而无需编写数据。
获取文档请求是否可以创建新记录?我猜这不会是副作用。
但是,如果可以的话,您可以创建一个日志,然后有一个视图,在广告公司选择一组描述广告的文档时,这些广告会在显示上一个广告时受到日志更改的影响。
我实际上并不打算在我的网站上显示广告,我会提供提示,文章摘要和次要功能,从页面加载到页面加载都有所不同。
任何建议表示赞赏。
我已经围绕如何处理谷物以获得我需要的其他功能,但这一点似乎与couchdb的工作方式相反。
答案 0 :(得分:1)
我认为你需要一个列表函数,它从视图中接收一组文档,然后只选择一个返回,无论是随机还是其他方法。但是,因为您在列表功能中,您可以访问用户的请求详细信息,包括cookie(您也可以设置,顺便说一句。)这听起来更像您想要的。
此外,您可以为查询时使用的列表函数指定不同的视图。这意味着您可以在主页上显示随机文章,但任何类型的内容都会显示在所有其他内容上。
注意:您无法在map / reduce函数中访问请求,如果您在map函数中执行类似Math.random()的操作,则会遇到问题。
所以列表函数是可行的方法。
答案 1 :(得分:0)
查看从视图中选择随机文档的各种方法。这应该使您能够选择要显示的随机文档(可能代表广告,提示等)。