是否可以在beforeSave方法中检查是否使用了解析主键?

xyb*_*rek 2 javascript node.js parse-platform parse-server

在我的应用程序中,没有重复是很重要的,所以我有以下代码:

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();
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

到目前为止,这已经可以实现此目的,问题在于,由于逻辑原因,即使Parse仪表板也无法再更新此类。我在想的是先检查是否使用万能键调用该方法(如果是),那么将忽略此逻辑并允许更新。如果使用了Parse主密钥,是否可以在此beforeSave方法中签入?

Thi*_*ryC 5

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

if (request.master){
    . . .//dosomething
}
Run Code Online (Sandbox Code Playgroud)