Я разрабатываю приложение, которое использует Cloudant в качестве базы данных. У меня есть ситуация, когда я почти одновременно делаю два обращения к базе данных к одному и тому же документу, но из-за этого получаю ошибку конфликта. Поэтому я попытался создать функцию обработчика обновлений в облачной базе данных, которая выглядит так:
{
"_id": "_design/_updateHandler",
"updates": {
"in-place": "function(doc, req) {
var field = req.body.field,
var value= req.body.value,
var doc[field] = value;
return [doc, toJSON(doc)];
}"
}
}
И он добавляет поле в документ, но не обновляет существующее поле. Это ожидаемое поведение? Это не выглядит так ни в облачной документации для обработчиков обновлений, ни в документация couchdb.
Если нет, как я могу решить эту проблему, чтобы обновить существующее поле? Кроме того, как указано в этом вопросе, функция обработчика обновления все равно получит конфликт обновления, но как его избежать?
Заранее спасибо :)
var doc
, когда документ уже определен, и т. д. :( У вас есть более новый код? Или код ближе к тому, что вы пытаетесь? Вы можете протестировать функцию на это собственная консоль вашего браузера, чтобы сначала очистить JS. - person BigBlueHat   schedule 04.03.2016