Parse platform 使用Parse.com中的云代码自动更新数据
我正在寻找一种使用云代码自动更新数据的方法 假设我有一个classParse platform 使用Parse.com中的云代码自动更新数据,parse-platform,parse-cloud-code,Parse Platform,Parse Cloud Code,我正在寻找一种使用云代码自动更新数据的方法 假设我有一个class表。 在它里面,我有三列:firstname,lastname,和fullname 目前,我只有firstname和lastname数据。列fullname仍然为空 只需将firstname和lastname中的值组合起来,是否可以自动填充fullname 谢谢,是的,您可以在保存“firstname”和“lastname”(在cloudcode之前)时为“fullname”输入一个值。或者,您可以使用before save/af
表
。
在它里面,我有三列:firstname
,lastname
,和fullname
目前,我只有firstname
和lastname
数据。列fullname
仍然为空
只需将firstname
和lastname
中的值组合起来,是否可以自动填充fullname
谢谢,是的,您可以在保存“firstname”和“lastname”(在cloudcode之前)时为“fullname”输入一个值。或者,您可以使用before save/after save cloudcode函数在该列中插入一个值: 看看:
@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
您可以将u.each()中的代码分解出来,生成一个函数,该函数在此处调用,并由beforeSave钩子在添加数据时进行维护。谢谢您的回答。我想我忘了提那件事了,我已经拿到数据了。所以,我不想做“保存数据”。据我所知,每次执行“保存数据”时都会执行“afterSave”或“beforeSafe”。还有其他方法吗?谢谢你的帮助。我尝试了你的代码,但我收到了以下错误消息:
{“code”:141,“error”:“TypeError:无法在main.js:11:40\n在e(Parse.js:2:8151)\n在Parse.js:2:7600\n在Array.forEach(native)\n在Object.x.each.forEach[as \u arraryach](Parse.js:1:661)\n在c.extend.resolve(Parse.js:2:7551)\n在null处。\u003canonymous\u003e(Parse.js:2:8230)\n在e处(Parse.js:2:8151)\n在Parse.js:2:8904\n在g处(Parse.js:2:8641)“}
请参见编辑。确保需要真正有用的下划线。或者用本机for循环替换每个for循环。