更新 Azure 移动服务 Javascript 中的另一个 table 行
Update another table row in Azure Mobile Services Javascript
我在 Azure 移动服务(javascript 后端)中有两个 table:TableA 和 TableB。每次在 TableA 中运行读取查询时,我想更新 TableB 中的特定行。两个 table 都有相同的列 "Date" 用于标识要更新的行。
我正在尝试通过以下代码(添加到 TableA 中的读取脚本)来完成此操作,该代码无法更新 TableB(它可以更新 TableA,如果我更改 table 中的名称var myTable 到 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);
}});}});}
请问我该如何解决?
更新,以下代码有效:
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');
}
}
}
});};
我在 Azure 移动服务(javascript 后端)中有两个 table:TableA 和 TableB。每次在 TableA 中运行读取查询时,我想更新 TableB 中的特定行。两个 table 都有相同的列 "Date" 用于标识要更新的行。
我正在尝试通过以下代码(添加到 TableA 中的读取脚本)来完成此操作,该代码无法更新 TableB(它可以更新 TableA,如果我更改 table 中的名称var myTable 到 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);
}});}});}
请问我该如何解决?
更新,以下代码有效:
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');
}
}
}
});};