【问题标题】:parse cloud code afterSave returns error 107 cannot POST解析云代码 afterSave 返回错误 107 无法 POST
【发布时间】:2017-05-16 22:42:13
【问题描述】:

我在 afterSave 实现我的注册逻辑时遇到了问题。 我要做的是在用户注册时在 Wallet 类中添加一笔交易,给他一些积分。所以我有我的云代码功能:

// Add welcome bonus on signup
Parse.Cloud.afterSave(Parse.User, (request) => {
// commit transaction only on signup completed with phone number
  if (request.object.get('username')) {
    const wallet = new Parse.Object('Wallet')

    wallet.set('value', 100)
    wallet.set('action', '+')
    wallet.set('description', 'welcome bonus')
    wallet.set('user', {
       __type: 'Pointer',
       className: '_User',
       objectId: request.object.id
    })


    wallet.save(null,{useMasterKey: true}).then(
      (result) => console.log('objectId',result.id),
      (error) => console.log('code:',error.code,'message:',error.message)
    )
  }
})

由于不推荐使用 Parse.Cloud.useMasterKey(),我按照 Parse 文档介绍了如何在保存方法中使用 useMasterKey 选项,但我仍然收到此错误:

info: afterSave triggered for _User for user undefined:
  Input: {...} className=_User, triggerType=afterSave, user=undefined
code: 107 message: Received an error with invalid JSON from Parse: Cannot POST /classes/Wallet

这是我的钱包表:


|值:数字 |动作:字符串 |描述:字符串 |用户:指针<_user> |


以及默认列 createdAt、updatedAt、objectId 和 ACL

我正在使用本地主机。

有什么想法吗?

【问题讨论】:

  • 你不能在没有参数的情况下使用 wallet.save() 吗?如果这不起作用,请尝试在代码顶部添加 {useMasterKey: true}
  • 您能否确定 value 是 Integer 类型而 action 列是 string 类型?也许您之前已经保存了一些对象并传递了不同的类型。
  • 你能给我看看 Wallet 表吗?
  • 检查了我的列的类型,它们是数字和字符串。
  • {useMatserKey: true} 是在 save() 或 find() 等方法中传递的选项。它不像 Parse.Clous.useMasterKey (已弃用)必须放在我的函数顶部

标签: json node.js parse-platform parse-server parse-cloud-code


【解决方案1】:

我敢打赌这是您设置用户的方式的问题。如果该字段设置为指向用户对象的指针字段,您只需设置wallet.set('user', request.object); 请求的其余部分看起来都很好,所以我的直觉告诉我它只是不喜欢您设置的 JSON 格式. IE。当我在仪表板上设置指针时,我只需输入对象 ID。我不像指针那样格式化它。

此外,这会在您保存用户时触发,因此无论如何它都不会做任何您想做的事情。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多