在beforeSave上初始化User中的指针



我试图初始化/创建一个指针的用户每当他们注册。然而,每当我尝试这样做时,我都会得到错误。

这个错误很明显:" error: Cannot create a pointer to an unsaved ParseObject"

Parse.Cloud.beforeSave(Parse.User, function (request, response) {
console.log("saving user" + request.object + " " + request.object.isNew());
var cardList = request.object.get("cardList");
if (cardList == null) {
    console.log("user has no cardList, creating empty: " + request.object.id);
    //Result: Error: Cannot create a pointer to an unsaved ParseObject
    request.object.set("cardList", createCardList(request.object.id));
}
response.success();
});

是否有可能在注册期间创建其他对象,然后将它们添加为指向用户的指针?

我可以将代码移动到"afterSave"并确信在我的注册回调时,用户将拥有此数据集吗?

如果对象isNew() is没有ID,并且您不能在另一个对象上设置它的引用。这样做是因为新对象还不存在于数据库中。如果您需要在此保存之前对象是否存在的信息,请使用afterSave钩子和existed()

最新更新