Как обеспечить включение определенных полей в базу данных CouchDB?
Я пытаюсь найти способ обеспечить наличие определенного содержимого в документах базы данных CouchDB. Я думал, что лучший способ сделать это будет с документом проекта "validate_doc_update". В прошлом я создал один, который проверял, авторизован ли пользователь для внесения изменений в базу данных, поэтому я попытался включить туда этот дополнительный код. Однако он не распознается как компилируемый код в CouchDB, и я не уверен, почему (см. Код ниже). Кто-нибудь знает, где я испортил этот код, чтобы он не компилировался, или есть ли лучший способ обеспечить включение определенных полей в обновленный документ?
Это включено в проектный документ в той же базе данных, которая называется _design/BGdesign:
function(newDoc, oldDoc, userCtx, secObj){
if ('_admin' in userCtx.roles) return; // skip anonymous in Admin Party case
if (userCtx.roles.indexOf('testAdmin') == -1) {
throw({forbidden: "Not Authorized"});
}
}
if (newDoc.artistName === undefined) {
throw({forbidden: 'Document must have a artistName'});
}
if (newDoc.currentLocation === undefined) {
throw({forbidden: 'Document must have a currentLocation'});
}
if (newDoc.dateMade === undefined) {
throw({forbidden: 'Document must have a dateMade.'});
}
if (newDoc.description === undefined) {
throw({forbidden: 'Document must have a description.'});
}
if (newDoc.name === undefined) {
throw({forbidden: 'Document must have a name.'});
}
if (newDoc.owner === undefined) {
throw({forbidden: 'Document must have an owner.'});
}
if (newDoc.tags === undefined) {
throw({forbidden: 'Document must have tags.'});
}
if (newDoc.uploaded === undefined) {
throw({forbidden: 'Document must have an uploaded date.'});
}
}
1 ответ
Несоответствующие фигурные скобки были причиной проблемы. Если есть какие-либо более эффективные / "правильные" способы сделать то, что я пытаюсь сделать (если не считать сжатие операторов if в один оператор IF, как я собираюсь сделать), я был бы очень признателен за информацию.