如何搜索项目,返回其ID并在Azure移动服务中更新该记录

时间:2014-01-28 14:15:40

标签: javascript azure azure-mobile-services

我正在尝试创建一个简单的html / js应用程序,它可以在Azure移动服务托管的表中添加和更新记录。

但是我遇到了一些问题,我很难理解文档。我知道如何创建记录:

var item = { event_name: event.getName(), event_time: event.getTime(), event_date: event.getDate(), event_description: event.getDescription() };

client.getTable("event").insert(item);    

但是我不确定如何在创建记录后更新记录。以下代码:

client.getTable("event").update(item);

要求该项具有id,然后使用该ID在表中匹配它。不幸的是,我很难从表中获得记录的ID。我想我需要做一些像:

client.getTable("event").where({event_name: myEventName});

但我不知道如何实现它或使用它返回的数据。

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

您需要使用延续来检索读取调用的值。此时,您将拥有要更新的项目的ID。

的内容
var table = client.getTable('event');
table.where({ event_name: myEventName }).read().then(
    function(results) {
        if (results.length) {
            var item = results[0];
            item.event_description = 'your updated description';
            table.update(item).then(
                function(updated) {
                    alert('The item was updated');
                });
        }
    });

http://www.windowsazure.com/en-us/documentation/articles/mobile-services-html-how-to-use-client-library/上的文档提供了有关如何将Azure移动服务客户端库用于HTML / JS的更多信息。