在我的应用中重要的是没有重复,所以我有这个代码:
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仪表板也不能再更新此类。我想的是首先检查是否使用masterkey调用方法,如果是,则会绕过此逻辑并允许更新。 如果使用Parse主密钥,是否可以检查此beforeSave方法?
答案 0 :(得分:4)
要检查beforeSave()内部是否使用了maskerkey(或者如果您是从仪表板发出请求),请尝试在云代码中添加此条件:
if (request.master){
. . .//dosomething
}