2016-04-22 17 views
0

我在Azure移動服務(javascript後端)中有兩個表:TableA和TableB。每次在TableA中運行讀取查詢時,我都想更新TableB中的特定行。兩個表都具有相同的列「Date」,用於標識要更新哪一行。在Azure移動服務中更新另一個錶行使用Javascript

我試圖通過以下代碼(添加到TableA中的讀取腳本)來完成該操作,該操作無法更新TableB(如果將var myTable中的表名更改爲TableA,它將更新TableA)

function read(query, user, request) { 

request.execute({ success: function(results) 
{ 
request.respond(); 
//retrieve TableB reference 
var myTable = tables.getTable('TableB'); 
myTable.where({ 
    //retrieve TableB specific row by date 
    Date: results[0].Date 
}).read({ 
    success: function(results){ 
     //reference row to be updated in TableB 
     var tableRef = results[0]; 
     tableRef.Views = tableRef.Views + 1; 
     //update row in TableB 
     myTable.update(tableRef);   
    }});}});} 

請問我該如何解決?

回答

1

更新,下面的代碼工作:

function read(query, user, request) { 
    request.execute({ success: function(results) { 
     request.respond(); 
      var countTable = tables.getTable('TableB'); 
      countTable.where({date: results[0].Date}).read({ 
       success: updateCount     
       }); 

       function updateCount(results) { 
      if (results.length > 0) { 
       // tracking record was found. update and continue normal execution. 
       var trackingRecord = results[0]; 
       trackingRecord.views = trackingRecord.views + 1; 
      countTable.update(trackingRecord); 
      } else { 
       console.log('error updating count'); 
       } 
     } 
    } 
});}; 
相關問題