CouchDB:如何通过javascript更改视图函数?

CouchDB:如何通过javascript更改视图函数?,javascript,view,couchdb,Javascript,View,Couchdb,我正在尝试测试是否“可能”[1]存储科学数据(模拟和实验原始数据+元数据)。CouchDB的无模式方法是一大优点:我们必须非常灵活地处理元数据,因为参数集经常变化 到目前为止,我有一些代码可以将原始数据、绘图(都作为附件)和分层元数据(作为JSON)提供给CouchDB文档,并编写了一些用于过滤和显示的原型Javascript。但是过滤是在客户端(也称为浏览器)完成的:map函数只返回所有内容 如何使用简单的浏览器JS更改(或推送第二个)特定设计文档的映射功能 我不认为临时视图会带来任何性能增益

我正在尝试测试是否“可能”[1]存储科学数据(模拟和实验原始数据+元数据)。CouchDB的无模式方法是一大优点:我们必须非常灵活地处理元数据,因为参数集经常变化

到目前为止,我有一些代码可以将原始数据、绘图(都作为附件)和分层元数据(作为JSON)提供给CouchDB文档,并编写了一些用于过滤和显示的原型Javascript。但是过滤是在客户端(也称为浏览器)完成的:map函数只返回所有内容

如何使用简单的浏览器JS更改(或推送第二个)特定设计文档的映射功能

我不认为临时视图会带来任何性能增益

谢谢你的时间和回答

[1] :当然有可能,但它也有用吗?可行吗?合理吗

[新增]

啊,jquery.coach.js(版本0.9.0)提供了一个saveDoc()函数,它可以用新的map函数更新_设计文档

但我也尝试了使用临时视图的查询函数。好的,“不要在真正的产品中使用,只在开发过程中使用”。。。但是科学研究是稳步发展的,对吗

正如我所注意到的,临时视图正在被缓存,并且它可以很好地处理每数据库1000个文档。第二个优点:所有用户(考虑1到3个,因此大用户管理就是放弃过度使用)都可以使用自己的临时视图。

永远不要使用临时视图。它们实际上只用于开发和调试目的。有关更多信息,请参见(特别是粗体“注释”)

是的,因为设计文档实际上只是具有特殊功能的文档,所以可以对其运行GET/POST/PUT/DELETE方法。但是,您通常需要管理员权限才能执行此操作。因此,如果您允许客户端软件执行此操作,那么您将使整个数据库公开以进行读/写访问—这对您的应用程序来说可能是好的,但必须记住这一点

例如,如果您限制对数据库的访问,但将用户名和密码放在客户端javascript中,那么任何人都可以看到该用户名和密码


干杯。

我已经为jquery.coach和设计文档编写了一个助手函数,请看: