如何仅复制设计文档?

时间:2011-09-05 14:44:47

标签: couchdb

所以我想将我对设计文件所做的一些更改从开发复制到生产(a.k.a。我想部署一些东西)。

由于我的研究没有带来任何具体结果,我感到很困惑。虽然这样接缝恕我直言就像一个非常明显的用例。

我错过了什么吗?

3 个答案:

答案 0 :(得分:17)

您可以指定要复制的文档ID,而无需编写过滤器。像这样发布复制文档(或命令):

{ "source": "my_db"
, "target": "http://target:5984/target_db"
, "doc_ids": [ "_design/my_ddoc" ]
}

答案 1 :(得分:9)

您可以使用“过滤复制”(有关详细信息,请参阅http://wiki.apache.org/couchdb/Replication#Filtered_Replication

基本上,您将为设计文档提供一个返回true的函数,例如;

function(doc, req) {
  return "_design/" === doc._id.substr(0, 8)
}

然后将“filter”:“ddocname / filtername”添加到_replicate请求正文中。

答案 2 :(得分:1)

我将我的设计文档存储为磁盘上的.js文件。然后我使用couchdb-update-views来更新服务器上的设计文档

npm install -g couchdb-update-views
couchdb-update-views --config /path/to/config.json --docsDir /path/to/design/docs/directory/