2010-09-25 142 views
3

例如,我有标签名称的帖子,我决定重命名其中一个标签。批量更新时,我应该知道修订版并不适合。更好的是,如果这可能是综合的东西。CouchDb批量重命名

+0

我能澄清这个问题吗?你有一堆在你的数据库文件看起来像这样: { ..., someField:“一些价值”, ... } 你想改变“someField”上的所有文件是“newFieldName”而不会丢失值。你在问什么? – 2010-11-28 19:28:02

+0

标签可能是一个数组,[CouchDB,Redis]。例如,我想将所有“CouchDB”标签重命名为“couch-db”。 – 2010-11-29 22:34:53

回答

1

检查出Costco,它提供了一个简单的界面,让您编写一个小函数来应用于所有文档以修改它们。

你会写这样一个简单的函数:

function (doc) { 
    // ignore documents without tags 
    if (!doc.tags) return doc; 

    for (var i = 0, len = doc.tags.length; i < len; i += 1) { 
    // convert tag misspelled "couch-db" to real name "CouchDB" 
    if (doc.tags[i] === "couch-db") doc.tags[i] = "CouchDB"; 
    } 
    return doc; 
}