【问题标题】:Destroy And Object , Client Side销毁和对象,客户端
【发布时间】:2018-10-12 04:32:54
【问题描述】:

我无法在客户端删除对象,使用销毁功能,我创建了一个管理员角色并赋予它所有必要的权限,但不幸的是,当我想删除一个对象时,我总是发送找不到对象。瞧,星期一代码。 `

    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 Where Set True For All 操作(创建、读取、删除、查找)

【问题讨论】:

    标签: javascript parse-platform parse-server


    【解决方案1】:

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

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

    【讨论】:

    • 下次一定要使用调试器单步调试,你会看到是哪一行抛出了错误。
    【解决方案2】:

    如果您以当前用户 (user = getCurrentParseUser()) 身份登录,则无需将 sessionToken 传递给 destroy 方法。如果您不是当前用户登录,您将无法获取其他用户的 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);
    }

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-11
      • 2013-03-21
      相关资源
      最近更新 更多