在Cloudant / CouchDB设计文档中调用外部javascript函数

时间:2015-09-01 16:29:47

标签: javascript couchdb cloudant

我有一个用javascript编写的设计文档(其他人编写了这个函数)用于Cloudant数据库。创建此函数以更新文档。在本文档中,我想首先调用JSON.minify,我在https://www.npmjs.com/package/jsonminify找到了一些在线代码

更新函数的代码如下..我想知道如何从提供的链接中建议的代码中调用JSON.minify:JSON.parse(JSON.minify(str)); < / p>

我目前有_ref = JSON.parse(reqBody)我想使用_ref = JSON.prase(JSON.minify(reqBody));

有人可以告诉我如何从Cloudant中的设计文档中调用此外部代码。 (Cloudant在大多数情况下与CouchDB非常相似,所以我认为它可能是相同的答案)

提前致谢!

function(doc, req) {  
if (!doc) {   
return [doc, JSON.stringify({ status: 'failed'      })];  
} 

var reqBody=req.body;
_ref = JSON.parse(reqBody);  


for (k in _ref) {  

v = _ref[k];   

if (k[0] === '/'){     
nestedDoc = doc;
nestedKeys = k.split('/');
_ref1 = nestedKeys.slice(1, -1);
for (_i = 0, _len = _ref1.length; _i < _len; _i++){
    nestedKey = _ref1[_i];
    nestedDoc = ((_ref2 = nestedDoc[nestedKey]) != null ? _ref2 : nestedDoc[nestedKey] = {});
}    
k = nestedKeys.slice(-1)[0];

if (v === '__delete__'){ 
    delete nestedDoc[k];     
}
continue;
}    
if (v === '__delete__'){      delete doc[k];    } 
else{      doc[k] = v;    }  }  

return [ doc, JSON.stringify({ status: 'success'    })  ];
}

1 个答案:

答案 0 :(得分:1)

您应该可以在更新功能的顶部添加source code,或者将其加载为CommonJS module

你试过其中一个吗?