销毁对象

时间:2018-10-12 04:32:55

标签: javascript parse-platform parse-server

我无法在客户端使用Delete函数删除对象,我创建了一个admin角色并赋予了它所有必需的权限,但是不幸的是,当我要删除对象时,总是向我发送找不到的对象。 Voila Mon代码。 `

    user = getCurrentParseUser();
    sessionToken = user.getSessionToken();
    query = new Parse.Query(BillingPackage);
    billingPackage = await query.get(billingPackageId);

    console.log("billingPackage",billingPackage); //the object is retrieve here

    if(billingPackage){
      await billingPackage.destroy({sessionToken:sessionToken});
      return {status: true, message: "The Billing Package Has Been Deleted"}
    }else{
      return {status: false, message: "The Billing Package Already Deleted"}
    }`

CLP将所有操作设置为True(创建,读取,删除,查找)

2 个答案:

答案 0 :(得分:0)

您没有将会话令牌传递给查询以找到它。

billingPackage = await query.get(billingPackageId, {sessionToken:sessionTokne});

答案 1 :(得分:0)

如果您以当前用户(user = getCurrentParseUser())的身份登录,则无需将sessionToken传递给destroy方法。如果您未以currentUser身份登录,则将不允许您获取其他用户sessionToken。

假设您以当前用户身份登录,或者您是可以删除该对象的用户,我已更正了以下代码。希望也能为其他人提供参考。

try {
  const billingPackage = await new Parse.Query(BillingPackage).get(billingPackageId);
  if (billingPackage) {
    try {
      await billingPackage.destroy();
      return {
        status: true,
        message: "The Billing Package Has Been Deleted"
      }
    } catch (parseError) {
      return {
        {
          status: false,
          message: parseError.message
        }
      }
    }
  }
} catch (parseError) {
  console.log(parseError.message);
}