2015-09-01 57 views
1

我有一個用JavaScript編寫的設計文檔(有人寫了這個函數)用於一個Cloudant數據庫。此功能用於更新文檔。在這個文件中,我想先打個電話給JSON.minify,我已經在網上找到一些代碼https://www.npmjs.com/package/jsonminify在Cloudant/CouchDB設計文檔中調用外部JavaScript函數

更新函數的代碼在下面..我想知道如何調用JSON 。根據提供的鏈接中提供的代碼進行分析:JSON.parse(JSON.minify(str));我想使用_ref = JSON.prase(JSON.minify(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

您應該能夠要麼包括source code在你更新功能的頂部,或加載它作爲一個CommonJS module

你有沒有試過嗎?

+0

這正是我所需要的。我不知道這是可能的。非常感謝! – Julie

相關問題