我的couchDB和沙发垫模型有一些问题。
我在我的couchDB中有一个正在运行的系统和现有的视图(它们工作得很好)。现在我想把它们用在一个ruby on rails项目中,使用的是沙发休息模型。我想用以下方式来定义它们:
design do
view :by_name
end每次我运行代码时,设计文档都会被来自couchrest模型的默认视图覆盖。
有没有人知道如何“使用”它们,而不改变数据库设计文档中的任何东西?
非常感谢!
发布于 2013-08-02 10:42:47
根据Couchrest Model Docs:http://www.couchrest.info/model/view_objects.html
它有一个配置选项: auto_update_design_doc,默认设置为true。
当请求视图时,将发送设计文档的快速获取,以确保其与模型中定义的最新版本保持最新。
将此选项设置为false,以便可以使用现有视图。但是你需要自己处理视图更新。
发布于 2017-05-04 17:19:24
我已经研究CouchRestModel一周左右了,我认为“使用”现有设计视图的最好方法是在模型中定义它们。
正如您在http://www.couchrest.info/model/view_objects.html中看到的,您可以编写自己的映射和reduce函数。这将不会“使用”现有的设计视图,但它将用您自己的函数覆盖,该函数可以是您之前编写的完全相同的设计视图。
示例:
design do
view :by_title,
:map =>
"function(doc) {
if (doc['type'] == 'Post' && doc['title'] != null) {
emit(doc['title'], 1);
}
}",
:reduce =>
"function(keys, values, rereduce) {
return sum(values);
}"
endhttps://stackoverflow.com/questions/16444414
复制相似问题