如何通过摇篮创建couchdb更新处理程序?

时间:2015-03-03 17:47:38

标签: couchdb cradle

我对CouchDB比较陌生,我正在使用cradle在node.js中与它进行交互。我正在尝试在文档中包含一个“count”字段,并创建一个更新处理程序,因此我不必执行GET然后执行PUT。 目前,我正在创建db对象后立即定义它:

db.save('_design/main', {
    updates: {//Not sure I'm doing this right. Documentation isn't clear to me
        updateCount:
            function (doc) {
                if (!doc.count) {
                    doc.count = 0;
                }
                doc.rowImportCount++;
                return [doc, JSON.stringify(doc.count)];
            }
    },
    findByFileUuid: {
        map: function (doc) {
            ...view stuff, works perfectly fine...
        },
        reduce: '_sum'
    }
}

稍后在程序中,当我尝试更新计数时,我这样做:

db.update('main/updates/updateCount',fileUuid,{},function(res){
            console.log(res.message);
        });

但它不起作用。 res.message说“点不确定”。

我无法看到我做错了什么,而且对于couchdb或者摇篮的文档都没有帮助。请注意,没有我的计数更新尝试,一切正常。

谢谢!

1 个答案:

答案 0 :(得分:1)

这种方式对我有用:

db.update('main/updateCount', fileUuid, { rev: doc._rev }, function(res){
    console.log(res.message);
});

db.update('main/updateCount', fileUuid, { }, function(res){
    console.log(res.message);
});