在 Parse.com 中使用云代码自动更新数据
automatically updating data using cloud code in Parse.com
我正在寻找一种使用云代码自动更新数据的方法。
假设我有一个 class Table
。
在其中,我有三列:firstname
、lastname
和 fullname
.
目前,我只有 firstname
和 lastname
数据。 fullname
列仍然是空的。
是否可以通过组合 firstname
和 lastname
中的值自动填充 fullname
?
谢谢,
是的,您可以在保存 "firstname" 和 "lastname" 时为 "fullname" 输入一个值(在 cloudcode 之前)。或者,您可以使用保存前/保存后云代码函数将值插入该列:
看看:
https://parse.com/docs/cloud_code_guide#webhooks-beforeSave
https://parse.com/docs/cloud_code_guide#webhooks-afterSave
@RoyH 100% 有权在创建新对象时维护您的计算列。要进行初始迁移,请尝试使用云函数,例如:
var _ = require("underscore");
Parse.Cloud.define("addFullnames", function(request, response) {
// useMasterKey if the calling user doesn't have permissions read or write to Table
Parse.Cloud.useMasterKey();
var query = new Parse.Query("Table");
// we'll call tables > 1000 an 'advanced topic'
query.limit = 1000;
query.find().then(function(results) {
_.each(results, function(result) {
var firstname = result.get("firstname") || "";
var lastname = result.get("lastname") || "";
result.set("fullname", (firstname + " " + lastname).trim());
});
return Parse.Object.saveAll(results);
}).then(function(results) {
response.success(results);
}, function(error) {
response.error(error);
});
});
这样称呼它:
curl -X POST \
-H "X-Parse-Application-Id: your_app_id_here" \
-H "X-Parse-REST-API-Key: your_rest_key_here" \
-H "Content-Type: application/json" \
https://api.parse.com/1/functions/addFullnames
您可以分解出 _.each() 中的代码来创建一个函数,在此处调用并通过 beforeSave 挂钩在添加数据时维护数据。
我正在寻找一种使用云代码自动更新数据的方法。
假设我有一个 class Table
。
在其中,我有三列:firstname
、lastname
和 fullname
.
目前,我只有 firstname
和 lastname
数据。 fullname
列仍然是空的。
是否可以通过组合 firstname
和 lastname
中的值自动填充 fullname
?
谢谢,
是的,您可以在保存 "firstname" 和 "lastname" 时为 "fullname" 输入一个值(在 cloudcode 之前)。或者,您可以使用保存前/保存后云代码函数将值插入该列:
看看:
https://parse.com/docs/cloud_code_guide#webhooks-beforeSave https://parse.com/docs/cloud_code_guide#webhooks-afterSave
@RoyH 100% 有权在创建新对象时维护您的计算列。要进行初始迁移,请尝试使用云函数,例如:
var _ = require("underscore");
Parse.Cloud.define("addFullnames", function(request, response) {
// useMasterKey if the calling user doesn't have permissions read or write to Table
Parse.Cloud.useMasterKey();
var query = new Parse.Query("Table");
// we'll call tables > 1000 an 'advanced topic'
query.limit = 1000;
query.find().then(function(results) {
_.each(results, function(result) {
var firstname = result.get("firstname") || "";
var lastname = result.get("lastname") || "";
result.set("fullname", (firstname + " " + lastname).trim());
});
return Parse.Object.saveAll(results);
}).then(function(results) {
response.success(results);
}, function(error) {
response.error(error);
});
});
这样称呼它:
curl -X POST \
-H "X-Parse-Application-Id: your_app_id_here" \
-H "X-Parse-REST-API-Key: your_rest_key_here" \
-H "Content-Type: application/json" \
https://api.parse.com/1/functions/addFullnames
您可以分解出 _.each() 中的代码来创建一个函数,在此处调用并通过 beforeSave 挂钩在添加数据时维护数据。