Couchdb rubyonrails&;Couchrest模型:使用现有视图

Couchdb rubyonrails&;Couchrest模型:使用现有视图,couchdb,couchrest,Couchdb,Couchrest,我的couchDB和couchrest模型有一些问题 我的couchDB中有一个运行系统,其中包含现有视图(它们工作正常)。现在我想在一个RubyonRails项目和沙发床模型中使用它们。 我想用以下内容来定义它们: design do view :by_name end 每次运行代码时,设计文档都会被couchrest模型中的默认视图覆盖 有人知道如何“使用”它们,而不改变数据库设计文档中的任何内容吗 非常感谢 根据Couchrest模型文档: 它有一个配置选项:自动更新设计文档,默

我的couchDB和couchrest模型有一些问题

我的couchDB中有一个运行系统,其中包含现有视图(它们工作正常)。现在我想在一个RubyonRails项目和沙发床模型中使用它们。 我想用以下内容来定义它们:

design do
    view :by_name
end
每次运行代码时,设计文档都会被couchrest模型中的默认视图覆盖

有人知道如何“使用”它们,而不改变数据库设计文档中的任何内容吗


非常感谢

根据Couchrest模型文档:

它有一个配置选项:自动更新设计文档,默认为true

当请求视图时,将发送设计文档的快速获取,以确保其与模型中定义的最新版本保持一致


将此选项设置为false,以便可以使用现有视图。但是您需要自己处理视图更新。

我已经研究CouchRestModel一周左右了,我认为“使用”现有设计视图的最佳方法是在模型中定义它们

如中所示,您可以编写自己的映射和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);
            }"
end