我正在開一個windows store的javascript應用程序。該應用程序通過移動服務與Azure集成。我想刪除與特定ID匹配的特定記錄。如何從Azure數據庫中的表中刪除行?
說,如果我有四列(無,姓名,職務,消息,ID)在表(項目)
我想刪除它具有ID = 5和標題整行=「計算器」。哪些代碼將執行該操作?
我正在開一個windows store的javascript應用程序。該應用程序通過移動服務與Azure集成。我想刪除與特定ID匹配的特定記錄。如何從Azure數據庫中的表中刪除行?
說,如果我有四列(無,姓名,職務,消息,ID)在表(項目)
我想刪除它具有ID = 5和標題整行=「計算器」。哪些代碼將執行該操作?
鑑於您獲得了對table對象的引用,您需要從表格中獲取實際行,然後在table
對象上調用del(item, callback)方法。您可以從已檢索的對象列表中獲取實際的行,或使用where method來獲取它。
類似的東西來:
var myTable = client.getTable('MyItem');
// here is a code to get the actual item
myTable.del(item);
或更簡單:
myTable.where({ id: 5, titile: "stackoverflow" })
.read()
.done(function (results) {
var result = results[0];
if (result != null && typeof (result) != "undefined") {
todoTable.del(result);
}
});
按移動服務服務器腳本參考:
http://msdn.microsoft.com/en-us/library/windowsazure/jj554210.aspx
進行刪除語法Table.del(itemOrId, options)
。如果您已經知道要刪除的行的標識,只需將其傳遞給del .. table.del(5)
,而不是先獲取該項目然後刪除它。
我的初步答案假定您使用服務器端腳本,但它聽起來像您正在使用JS客戶端庫,它只需要一個對象。如果你真的想傳遞一個id,我會嘗試將它作爲對象參數傳遞,然後更新服務器端刪除腳本以使用Table.del(itemOrId, options)
,或者,在服務器端刪除腳本中添加id參數,併爲對象傳遞null。
添加對源的引用會很好。因爲文檔仍然說只有被接受的參數是刪除的對象:http://msdn.microsoft.com/en-us/library/windowsazure/jj554233.aspx – astaykov
也是JS SDK的源代碼並沒有強制使用just ID:https://github.com/WindowsAzure/azure-mobile-services/blob/master/sdk/Javascript/src/MobileServiceTable.js – astaykov