我从我的Android应用程序调用此函数,
Parse.Cloud.define('addFriendRequest', function(request, response) {
var userObjectId = request.params.userObjectId;
var User = Parse.Object.extend('_User'),
user = new User({ objectId: userObjectId });
var relation = Parse.Relation(user, 'friendRequests');
relation.add(request.user);
Parse.Cloud.useMasterKey();
user.save().then(function(user) {
response.success("Successfully added friend Request");
}, function(error) {
response.error("An error has occurred")
});
});
正在抛出错误类型
TypeError:无法在main.js:10:11
中调用undefined方法'add'
我对javascript相对较新,所以任何建议都会很棒。此外,关系friendRequests
已经存在。
答案 0 :(得分:0)
这应该有用。
Parse.Cloud.define('addFriendRequest', function(request, response) {
Parse.Cloud.useMasterKey();
var userObjectId = request.params.userObjectId;
var user = Parse.User.createWithoutData(userObjectId);
var relation = user.relation('friendRelation');
relation.add(request.user);
user.save().then(function(user) {
response.success("Successfully added friend Request");
}, function(error) {
response.error("An error has occurred")
});
});
对此处发生的事情以及您的代码无效的原因进行了一些澄清。
Parse.Cloud.useMasterKey();
置于函数的开头是一个好习惯。Parse.User.createWithoutData('yourObjectIdHere')
方法。您实际执行此步骤的目的是创建新用户,而不是为数据库中已有的用户创建引用。Parse.Object.relation('putRelationKeyHere')
。您实际上是在创建新关系而不是访问现有关系。我建议您阅读Parse Javascript Guide以了解推荐的技巧。