Използвам мобилните услуги на Azure с приложение за android, което се опитвам да накарам да работи със SQL база данни в Azure. Използвам JavaScript функция от страна на сървъра в рамките на мобилните услуги, за да се справя с вмъкването и актуализирането на данни. Вмъкването на нови данни работи правилно, но не мога да актуализирам никакви редове с функцията.
Грешката, която получих, е: 409 - грешка: Не можах да вмъкна елемента, защото вече съществува елемент с този идентификатор. Изглежда, че се опитва да вмъкне вместо актуализация, но не мога да разбера решението. Помощта е много ценена! Ето моя сървърен скрипт от Azure:
function insert(item, user, request) {
var table = tables.getTable('Reviews');
table.where({
text: item.id
}).read({
success: upsertItem
});
function upsertItem(existingItems) {
if (existingItems.length == 0) {
item.numReviews = 1;
item.rating = item.reviews;
request.execute();
} else {
item.id = existingItems[0].id;
item.numReviews = existingItems[0].numReviews + 1;
var average = existingItems[0].reviews / item.numReviews;
item.reviews = existingItems[0].reviews + item.reviews;
item.rating = average;
table.update(item, {
success: function(updatedItem) {
request.respond(200, updatedItem)
}
});
}
}
}