2016-04-20 62 views
1

我有下面的代碼:

var FBref = new Firebase('https://employees.firebaseio.com/'); 
var peopleObject = $firebaseArray(FBref); 

var person = { 
      "name":"John", 
      "age":"20", 
      "phone":"123-123-123" 
     }; 

peopleObject.$add(person); 

我用上面的代碼,以成功添加員工新記錄。

我需要將John的電話號碼更新爲111-111-111。但下面的代碼不起作用。

var person = { 
      "name":"John", 
      "age":"20", 
      "phone":"111-111-111" //New phone number 
     }; 

peopleObject.$save(person); 

有人建議

回答

1

目前你正在試圖挽救整個對象,這是行不通的。

通過首先從db獲取記錄來檢索舊記錄&然後更新該記錄。此後使用$save方法保存該對象。

//if update action is happening is similar session you can get unique by below code 
var someRecordKey; 
peopleObject.$add(person).then(function(ref) { 
    //get record id of new person 
    someRecordKey = ref.key(); 
}); 

// get record by unique key 
var person = peopleObject.$getRecord(someRecordKey); 
// change a message and save it 
item.phone = "111-111-111"; 
peopleObject.$save(person).then(function() { 
    // data has been saved to our database 
}); 
+0

你可以用下面的代碼'變種someRecordKey someRecordKey; 。 peopleObject $添加(人)。然後(函數(REF){// 得到新的人記錄ID someRecordKey = ref.key(); });' – huseyinozcan

+1

@huseyinozcan是的..我們可以..但我正在考慮..這件事可以在不同的會議中發生..不是嗎?感謝您的支持。我更新了答案。 :) –

+0

好點@PankajParkar!似乎更新行爲發生在不同的會話 – huseyinozcan