Parse platform 使用Parse.com中的云代码自动更新数据

Parse 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

我正在寻找一种使用云代码自动更新数据的方法

假设我有一个class
。 在它里面,我有三列:
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循环。