2017-10-10 134 views
0

這是我的數據庫類的結構:解析服務器雲碼查詢到指針

用戶 - > 對象ID(字符串) 的用戶名(字符串)

好友 - > 對象ID(字符串) TOUSER(指針< _user>) FROMUSER(指針< _user>)

我的目標是獲取與用戶名,這些列TOUSER和FROMUSER與作爲匹配的用戶獨特的Id。 toUser和fromUser變量的指針是表「用戶」的objectId

我的查詢應該如何?

我想這一個,但它不`噸工作

Parse.Cloud.define('FriendsQuery', function(req,res) { 
const friends = new Parse.Query("Friends"); 
friends.equalTo("toUser","fEjQgAPvDO"); 
const userQuery = new Parse.Query("User");  

userQuery.matchesQuery('friend', friends); 
userQuery.find().then((results) => { 
    res.success(results); 
}) 
.catch(() => { 
    response.error("user lookup failed"); 
}); 
}); 

我只包括在此查詢

任何想法的TOUSER列?

謝謝

回答

0

在第三行代碼應該是這樣的

friends.equalTo( 「至用戶」,{__類型: 「指針」,產品類別: 「用戶」,對象ID: 「fEjQgAPvDO」 });

  • __type總是將是指針
  • 的className是在OBJECTID存儲在集合的名稱。換句話說它的「表」,其中的指針指向
  • OBJECTID是「表/集合」
+0

喜阿龍的ID,並感謝您。不幸的是,我的邏輯錯誤。雖然,也許用這個我會得到行,我不會得到friends.With這個查詢,我會採取登錄用戶已收到或發送好友請求的行數。但我想相反,我想要他的朋友的名單 – giorgionasis

+0

如果你想要一個朋友的列表,你不會只是做這個? Parse.Cloud.define('FriendsQuery',function(req,res)const friends = new Parse.Query(「Friends」); friends.equalTo(「toUser」,{__ type:「Pointer」,className:「用戶「,objectId:」fEjQgAPvDO「}); friends.find({sessionToken:request.user.getSessionToken()}); –

+0

是的,但也許存在相反的情況,登錄用戶的」fEjQgAPvDO「已發送請求。所以我想從fromUser變量。我應該做第二個等於(「fromUser」,...)??? – giorgionasis