Вместо функции обновления выведите «500 (Internal Server Error)» - PullRequest
0 голосов
/ 23 июня 2019

Я использую couchDB 3.2.1.У меня есть проектный документ, который содержит представления и теперь функцию обновления.Я получаю 500 (Внутренняя ошибка сервера) при попытке запустить функцию, передавая документ, используя PUT и fetchAPI: http://my.company.xyz:5984/brunel/_design/brunel/_update/customerPrefs/5509

Я пытался отладить, просто возвращая документ в конце функции, ноПо-прежнему возникает та же проблема.

Проектный документ выглядит следующим образом:

"_id": "_design/brunel",
"_rev": "11-33c446a585aa4a63f3f848bd4979d721",
   "views": {
    "productCategoryNames": {
      "map": "function (doc) {  if ((doc.recordType === 'product') && doc.categoryName && doc.categoryCode){    emit([doc.categoryCode, doc.categoryName], null);  }}",
      "reduce": "_count"
    },
    "invoiceNumbers": {
      "map": "function (doc) {  if (doc.recordType === 'invoice'){    emit(doc.invoiceNumber, null);  }}",
      "reduce": "_count"
    },
    "supplierNames": {
      "map": "function (doc) {  if ((doc.recordType === 'supplier') && doc.supplierName){    emit(doc.supplierName, null);  }}",
      "reduce": "_count"
    },
    "productNames": {
      "map": "function (doc) {  if ((doc.recordType === 'product') && doc.description){    emit(doc.description, null);  }}",
      "reduce": "_count"
    },
    "customerNames": {
      "map": "function (doc) {  if ((doc.recordType === 'customer') && doc.customerName){    emit(doc.customerName, null);  }}",
      "reduce": "_count"
    },
    "batchReceiveDates": {
      "map": "function (doc) {  if (doc.recordType === 'batch'){    emit(doc.batchNumber, null);  }}"
    }
  },
  "updates": {
    "customerPrefs": "function (doc, req){  return [doc];  }"
  }
}

Я думаю, что может быть что-то не так с тем, как я объявляю свою функцию обновления как часть проектного документа.

Моя цель - использовать функции обновления на месте для передачи пар ключей, которые будут сохранены / добавлены в массив, являющийся частью существующего документа.

В журнале couchDB показана следующая ошибка:

[ошибка] 2019-06-23T19: 11: 48.879976Z couchdb@127.0.0.1 <0.6521.378> 6734daf161 Ошибка процесса ОС <0.14007.353> :: {<< "render_error">>, << "неопределенный ответ от функции обновления" >>}

1 Ответ

0 голосов
/ 30 июня 2019

Спасибо Flimzy за указание на то, что функция должна возвращать два значения. Я также нашел полезным заглянуть в файл журнала couchDB для отладки ошибок JavaScript в обработчике обновлений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...