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