2015-04-25 20 views
1

如何在雲代碼(parse.com)中寫入一個短程序,該程序自動將一個字段的值PFObject複製到其他某個字段PFObject(不同的課程比原來的課程)每當原來的領域正在改變?例如,我有一些用戶的名字,我希望每當他改變他的名字時,它都會自動複製到他的帖子的對象中。 我希望在服務器端完成。因此我需要用雲代碼編寫它。自動複製某些值,只要它在雲代碼中被更改[parse.com]

+0

到目前爲止你做了什麼?任何代碼? – Abhishek

+0

爲什麼不直接引用用戶並在需要時將其拉出?更新所有用戶發佈的帖子,如果發生某些變化,可能會讓您的請求速度超出限制...... – Wain

回答

0

要實現此功能,可以使用解析雲afterSave過程。假設您在Parse中擁有一個Profile表,並且您的用戶有一個可以更新名稱的選項。因此,您可以在PostSave表中搜索Post(根據您的userId),並更新名稱字段(這是一個簡單的場景),然後編寫一個cloud後面的代碼就是一個例子。

Parse.Cloud.afterSave("Profile", function(request) { 

    var updatedList = []; 
    var query = new Parse.Query("Post"); 
    query.equalTo("userId", request.object.get("userId")); 
    query.find({ 
    success: function(records) 
    { 
     for(var i = 0;i < records.length;i++) 
     { 
      var currentObject = records[i]; 
      currentObject.set("name",request.object.get("name")); 
      updatedList.push(currentObject); 
     } 
     Parse.Object.saveAll(updatedList,{ 
     success: function(list) {}, 
     error: function(error) {}, 
     }); 
    }, 
    error: function(error) 
    { 
    } 
    }); 
}); 

上述代碼保存在Profile表中後觸發。它搜索Post類並查找與當前用戶(請求者)相關的所有條目。比它更新Post表更改名稱字段。

也不要忘記此配置文件表中的所有更新都會觸發此過程。因此,另一種選擇是編寫一個雲端函數,當您更新配置文件中的某些內容(在您的應用程序上)時觸發。希望這可以幫助。

問候。

相關問題