簡體   English   中英

解析雲代碼。 無法定義關系

[英]Parse Cloud Code. Unable to define relation

我正在從我的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調用未定義的方法“ add”

我對javascript比較陌生,所以任何建議都很棒。 關系friendRequests已經存在。

這應該工作。

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")
});
});

一些澄清這里發生了什么,以及為什么您的代碼無法正常工作。

  1. 首先,放置Parse.Cloud.useMasterKey();是一個好習慣Parse.Cloud.useMasterKey(); 就在函數的開頭
  2. 我看到您一開始就有user的objectId,並且您想根據其objectId使用該用戶。 我要這樣做,您應該使用Parse.User.createWithoutData('yourObjectIdHere')方法。 此步驟的實際操作是創建一個新用戶,而不是為數據庫中已有的用戶創建引用。
  3. 如果要獲取特定對象(在您的情況下為User對象)的關系,請使用Parse.Object.relation('putRelationKeyHere') 您實際上是在創建一個新的關系,而不是訪問現有的關系。

我建議您閱讀Parse Javascript Guide ,以了解推薦的技術。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM