在CouchDB的许多文档中,当需要更改ID时,最佳路径是什么?
CouchDB 1.1,Windows。在CouchDB的许多文档中,当需要更改ID时,最佳路径是什么?,couchdb,Couchdb,CouchDB 1.1,Windows。 我从此结构重新组织数据库(示例) 对此 请为文档(单个/多个)建议重命名“\u id”的简单路径:Futon不允许这样做。在设计文档中保存以下视图: 地图: 这将返回您需要处理的所有文档 编写脚本,用include\u docs=true查询视图,并对每一行执行以下操作: 使用新的\u id 删除旧文档 或者,您可以查询旧格式的每个行.id,并将目的地设置为新的\u id,后跟旧的\u id将以下视图保存在设计文档中: 地图: 这将返回您需要处理的所
我从此结构重新组织数据库(示例) 对此
请为文档(单个/多个)建议重命名“\u id”的简单路径:Futon不允许这样做。在设计文档中保存以下视图: 地图: 这将返回您需要处理的所有文档 编写脚本,用
include\u docs=true查询视图,并对每一行执行以下操作:
- 使用新的
\u id
- 删除旧文档
或者,您可以查询旧格式的每个行.id
,并将目的地设置为新的\u id
,后跟旧的\u id
将以下视图保存在设计文档中:
地图:
这将返回您需要处理的所有文档
编写脚本,用include\u docs=true查询视图,并对每一行执行以下操作:
- 使用新的
\u id
- 删除旧文档
或者,您可以查询旧格式的每个行.id
,并将目的地设置为新的\u id
,然后是旧的\u id
是否必须指定自己的\u id
?是的,Dominic。这对我的数据库很好:有效地搜索和构建应用程序的视图。您是否必须指定自己的\u id
?是的,Dominic。这对我的数据库很好:有效地搜索和构建应用程序视图。谢谢,Marcello。这个序列我知道。可能存在重命名数据库中所有_ID的最简单解决方案(在命令行中使用CURL?)。@Andrey,您可以使用COPY-then-DELETE,正如我在文章中概述的那样。使用副本,您不需要检索整个文档。谢谢,Marcello。这个序列我知道。可能存在重命名数据库中所有_ID的最简单解决方案(在命令行中使用CURL?)。@Andrey,您可以使用COPY-then-DELETE,正如我在文章中概述的那样。使用copy,您不需要检索整个文档。
{
"_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": ...
...
}
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);
}
}