在对象更改时设置布尔值 Parse.com

Set boolean on object change Parse.com

情况:

我在 Parse.com 有一个数据库。在这个数据库中,我的对象有一个数组和一个布尔值。

想要的结果:

如果数组长度大于 0,我希望将布尔值设置为 true。如果大小为 0,则设置为 false。

问题:

我不想在数组的 adding/deleting 上设置这个布尔值,但我想要某种对对象更改做出反应的侦听器。

必须

此解决方案必须仅使用云代码。


有什么办法吗?

当然可以,这可以使用 cloud code beforeSave hook 轻松完成。

在所需的 class 的 beforeSave 中,查看数组的大小并相应地设置 bool。这将保证每次保存时 bool 都是最新的。

这是一些示例代码

// Update the boolean based on the array length
Parse.Cloud.beforeSave("yourClass", function(request, response) {

    var yourArray = request.object.get("yourArray");

    if (yourArray.length > 0) {
        request.object.set("booleanProperty", true);
    } else {
        request.object.set("booleanProperty", false);
    }
    response.success();
});