[英]Having trouble with CouchDB design document and validate_doc_update function
我是CouchDB的新手,並且在使設計文檔在數據庫中工作時遇到很多麻煩。
這是我的設計文件:
{
"language": "javascript",
"validate_doc_update": "function(newDoc, oldDoc, userCtx) {
function require(field, message) {
message = message || "Document must have a " + field;
if (!newDoc[field]) throw({forbidden : message});
};
function unchanged(field) {
if (oldDoc && toJSON(oldDoc[field] != toJSON(newDoc[field])) {
}
};
if (newDoc.type == "fortune") {
require("body");
require("sequence_id");
require("created_at");
unchanged("sequence_id");
unchanged("created_at");
}
};",
"views": {
"fortune_count": {
"map": "function(doc) { if(doc.sequence_id && doc.body) { emit(doc.sequence_id, doc.body); }",
"reduce": "_count"
}
},
"shows": {
}
}
讓我分解一下我遇到的問題:
我在將其作為放置請求發送到我的數據庫時遇到了麻煩。 顯然,這是無效的JSON。 我不是JSON方面的專家,這非常令人沮喪。 有什么想法嗎?
由於放置請求存在問題,因此我決定使用Futon添加設計文檔。 我在這里的視圖看來數據庫不錯,但是當我嘗試向數據庫中添加文檔時,出現一條錯誤消息,提示我的validate_doc_update文本無法求值。 關於我的validate函數有什么問題的任何建議嗎?
由於我的validate函數遇到困難,因此我嘗試在設計文檔中放入一個啞版本:
"validate_doc_update": "function(newDoc, oldDoc, userCtx) { if (newDoc.type == "fortune") {} };",
我可以使用此版本來創建文檔,但是並沒有太大用處。
任何幫助,將不勝感激。
謝謝,
保羅·尼科爾斯
您只是忘了在(oldDoc && toJSON(oldDoc[field] != toJSON(newDoc[field]))
關閉括號(oldDoc && toJSON(oldDoc[field] != toJSON(newDoc[field]))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.