CouchDB 1.1,Windows。
我从这个结构重组了我的数据库(例子)
{
"_id": "0 rock-inorganic 2 m m 10 -50 30 a",
"inner-coord": [50, 90, 20],
"map": ...
...
}
到此
{
"_id": "0 2 rock-inorganic 10 -50 30 a",
"inner-coord": [50, 90, 20],
"map": ...
...
}
请建议为文档重命名'_id'的简单路径(单/多):被褥不允许。
答案 0 :(得分:1)
将以下视图保存在设计文档中:
图:
function (doc) {
function isOldDoc() {
// IT'S AN EXAMPLE: CHANGE IT TO FIT YOUR NEEDS
return doc._id.match(/^\d \w+ \d \w \w \d+ -?\d+ \d+ \w$/);
}
if (isOldDoc()) {
emit(doc._id, 1);
}
}
这将返回您需要处理的所有文档。
编写脚本以使用include_docs=true
查询视图,并为每行执行:
_id
或者,您可以查询_all_docs
,对于旧格式的每个row.id
,请执行COPY并将Destination
设置为新的_id
通过旧_id
的{{3}}。