在 Cloudant/CouchDB 设计文档中调用外部 javascript 函数
Call to external javascript function in Cloudant/CouchDB design doc
我有一份用 javascript 编写的 Cloudant 数据库设计文档(其他人编写了此函数)。创建此函数是为了更新文档。在本文档中,我想首先调用 JSON.minify,我在 https://www.npmjs.com/package/jsonminify
找到了一些在线代码
更新功能的代码如下。我想知道如何从 link 提供的建议代码中调用 JSON.minify:JSON.parse (JSON.minify(str));
我目前有 _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' }) ];
}
您应该能够包含 source code at the top of your update function, or load it as a CommonJS module。
你试过其中之一吗?
我有一份用 javascript 编写的 Cloudant 数据库设计文档(其他人编写了此函数)。创建此函数是为了更新文档。在本文档中,我想首先调用 JSON.minify,我在 https://www.npmjs.com/package/jsonminify
找到了一些在线代码更新功能的代码如下。我想知道如何从 link 提供的建议代码中调用 JSON.minify:JSON.parse (JSON.minify(str));
我目前有 _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' }) ];
}
您应该能够包含 source code at the top of your update function, or load it as a CommonJS module。
你试过其中之一吗?