【问题标题】:Is it possible to check inside beforeSave method if Parse master key is used?如果使用 Parse 主密钥,是否可以检查 beforeSave 方法内部?
【发布时间】:2016-12-18 22:45:39
【问题描述】:

在我的应用中没有重复很重要,所以我有这个代码:

Parse.Cloud.beforeSave("Thing", function(request, response) {
    var newEntryThing = request.object;
    var thingId= newEntryThing.get("thingId");
    var queryThings= new Parse.Query("Thing");
    queryThings.equalTo("thingId", thingId);

    queryThings.first({
        success: function(results) {
            if(results) {
                response.error({errorCode:400,errorMsg:"Thing already exist"});
            } else {
                response.success();
            }
        },
        error: function(error) {
            response.success();
        }
    });
});

到目前为止,这适用于该目的,问题是由于逻辑原因,即使 Parse 仪表板也无法再更新此类。我的想法是首先检查是否使用主密钥调用该方法,如果是,则此逻辑将被绕过并允许更新。 如果使用 Parse 主密钥,是否可以签入此 beforeSave 方法?

【问题讨论】:

  • “由于逻辑原因,解析仪表板大炮不再更新此类”...您的意思是当您尝试添加具有重复 thingId 的行时,此逻辑会阻止它吗?这就是它应该做的,对吧?

标签: javascript node.js parse-platform parse-server


【解决方案1】:

要检查 beforeSave() 内部是否使用了 maskerkey(或者如果您从仪表板发出请求),请尝试在您的云代码中添加此条件:

if (request.master){
    . . .//dosomething
}

【讨论】:

    猜你喜欢
    • 2018-01-31
    • 1970-01-01
    • 2018-06-09
    • 1970-01-01
    • 2011-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多