[英]Parse.com JavaScript SDK - How can I refresh the cached user object?
[英]how can i update current object in parse.com with javascript?
我想用javascript更新我在parse.com中已有的對象; 我做的是我首先用查詢退回對象,但我不知道如何更新它。
這是我使用的代碼,它有什么不對嗎?
var GameScore = Parse.Object.extend("Driver");
var query = new Parse.Query(GameScore);
query.equalTo("DriverID", "9");
query.find({
success: function(results) {
alert("Successfully retrieved " + results.length + "DName");
results.set("DName", "aaaa");
results.save();
},
error: function(error) {
alert("Error: " + error.code + " " + error.message);
}
});
問題和你的答案之間的差異一開始可能並不明顯 - 所以對於發生在這里的每個人 - 使用query.first而不是query.find 。
query.find() //don't use this if you are going to try and update an object
返回一個對象數組,一個沒有方法“set”或“save”的數組。
query.first() //use this instead
返回一個具有這些方法的骨干樣式對象。
我找到了解決方案,以后有人需要它
這里是:
var GameScore = Parse.Object.extend("Driver");
var query = new Parse.Query(GameScore);
query.equalTo("DriverID", "9");
query.first({
success: function(object) {
object.set("DName", "aaaa");
object.save();
},
error: function(error) {
alert("Error: " + error.code + " " + error.message);
}
});
如果有人得到msg“{”代碼“:101,”錯誤“:”找不到更新的對象“}”,請檢查對象的類權限和ACL,以確保允許讀取和寫入
做這樣的事情:
var GameScore = Parse.Object.extend("Driver");
var query = new Parse.Query(GameScore);
query.equalTo("DriverID", "9");
query.find({
success: function(results) {
alert("Successfully retrieved " + results.length + "DName");
// - use this-----------------
results.forEach((result) => {
result.set("DName", "aaaa");
});
Parse.Object.saveAll(results);
// --------------------------------
},
error: function(error) {
alert("Error: " + error.code + " " + error.message);
}
});
你可以這樣做:
var results= await query.find();
for (var i = 0; i < results.length; i++) {
results[i].set("DName", "aaaa");
results[i].save();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.