我们有两个班级"User"
和"Schools"
。 Schools类包含"objectId"
列。
我想将"objectId"
列保存到"User"
列中的"currentSchool"
,但它会出现以下错误:
{“code”:111,“error”:“关键currentStchool的无效类型,预期*学校,但得到字符串”}
以下是代码段:
Parse.User.signUp(username, password,
{
firstName: $scope.vm.form.firstName,
lastName: $scope.vm.form.lastName,
fullName: $scope.vm.form.firstName + " " + $scope.vm.form.lastName,
email: email,
onboardApplicantId: $scope.applicantId,
currentSchool: schooolId,
trainingStatus: "videos",
videoStatus: 0,
ACL: new Parse.ACL()
}, {
success: function (user) {
$("#signupForm").trigger('reset');
console.log(' success ');
$('.signupMsg').text("Account created successfully. Please verify your email address.");
$('.submit-button').attr("disabled", false);
},
error: function (user, error) {
$('.signupMsg').text(error.message);
$('.submit-button').attr("disabled", false);
}
});
答案 0 :(得分:1)
好的,我在这里得到的答案是:
我在“Parse.User.signUp”中这样做:
currentSchool:schooolId,
应该是:
currentSchool:{“_ _ type”:“指针”,“className”:“学校”,“objectId”:schooolId},
我们还需要传递类名,并且需要定义它是一个按类型指针的关系,它在它们之间创建关系。
我希望这对其他人也有帮助。
谢谢guyz
答案 1 :(得分:0)
您必须先创建学校对象实例,然后设置学校objectId,然后将学校实例设置为用户currentSchool
。通过这些步骤,您可以将school School的指针保存到schoolId:
示例:强>
var SchoolClass = Parse.Object.extend("School");
var schoolObject = new SchoolClass();
schoolObject.set("objectId", schoolId);
Parse.User.signUp(username, password,
{
firstName: $scope.vm.form.firstName,
lastName: $scope.vm.form.lastName,
fullName: $scope.vm.form.firstName + " " + $scope.vm.form.lastName,
email: email,
onboardApplicantId: $scope.applicantId,
currentSchool: schoolObject,
trainingStatus: "videos",
videoStatus: 0,
ACL: new Parse.ACL()
}, {
success: function (user) {
$("#signupForm").trigger('reset');
console.log(' success ');
$('.signupMsg').text("Account created successfully. Please verify your email address.");
$('.submit-button').attr("disabled", false);
},
error: function (user, error) {
$('.signupMsg').text(error.message);
$('.submit-button').attr("disabled", false);
}
});
答案 2 :(得分:-1)
@Mazel Tov实际上是对的:
如果您查看数据库的SCHEMA(如果您运行的是开源版本),那么如果查看用户表中的“学校”选项卡名称,您会看到它的类型是School
。
这意味着你需要发送一个代表一所学校的Parse.Object
而不是它的id :)(因为id是一个字符串,那就是你的错误来自哪里)
所以要修复它:
选项1 :您获取了所拥有的学校列表,然后您可以将它们再次传递给Parse。
选项2 :您可以通过删除列并再次将其作为String
类型进行重新更改来更改学校类型。