1

元のフィールドが変更されるたびに、あるフィールドの値を別のフィールド (元のフィールドとは異なるクラス) のPFObject特定のフィールドに自動的にコピーする短いプログラムをクラウド コード ( parse.com ) に記述する方法は? PFObjectたとえば、ユーザーの名前があり、名前を変更するたびに、その名前を投稿のオブジェクトに自動的にコピーしたいとします。そして、サーバー側でそれを行いたいと思います。したがって、クラウド コードで記述する必要があります。

4

1 に答える 1

0

この機能を実装するには、Parse Cloud afterSave プロシージャを使用できます。Parse に Profile テーブルがあり、ユーザーが名前を更新できるオプションを持っているとします。したがって、(userId に基づいて) Post テーブルを検索し、name フィールドを更新するクラウドの afterSave 関数を作成できます (これは単純なシナリオです)。以下のコードは例です。

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) 
    {
    }
  });
});

上記のコードは、プロファイル テーブルに保存した後にトリガーされます。Post クラスを検索し、現在のユーザー (リクエスタ) に関連するすべてのエントリを見つけます。次に、名前フィールドを変更する Post テーブルを更新します。

また、プロファイル テーブルのすべての更新に対して、この手順がトリガーされることを忘れないでください。したがって、別のオプションは、(アプリケーションの) Profile で何かを更新したときにトリガーするクラウド関数を作成することです。お役に立てれば。

よろしく。

于 2015-04-25T13:23:20.163 に答える