我正在尝试在Parse.com上返回一个尚未在朋友联接表中的用户的列表,但似乎尝试将指针记录与用户objectId匹配将无效。
我们可以将其分解为单独的调用,但这会导致性能不佳。
有人解决了这个问题吗?
//Get users current friends
var myfriends = new Parse.Query("UserFriend");
myfriends.equalTo("myUserId",user);
//get users who are not already friends
var userQuery = new Parse.Query(Parse.User);
userQuery.doesNotMatchKeyInQuery("objectId", "theirUserId", myfriends);
userQuery.find().then(function(newfriends){
//do stuff with newfriends
//New friends should not include existing friends but it does..
});
非常感谢能够提供帮助的任何人。
答案 0 :(得分:0)
我没有对此进行过测试,但请试一试..从我的评论中说:“对Parse.User进行查询,该查询与用户朋友的查询中的键匹配,对应于与该查询不匹配的用户查询”。这可能会遇到同样的问题。
var friendsQuery = new Parse.Query(Parse.User);
var myfriends = new Parse.Query("UserFriend");
myfriends.equalTo("myUserId",user);
friendsQuery.matchesKeyInQuery("objectId", "theirUserId", myfriends);
var userQuery = new Parse.Query(Parse.User);
userQuery.doesNotMatchQuery("objectId", friendsQuery);
//Assuming Cloud Code...
userQuery.find({ useMasterKey: true }).then(function(newfriends){
//do stuff with newfriends
});
答案 1 :(得分:0)
我也无法使用它。相反,我使用了doNotMatchQuery,它可以用指针查找。
答案 2 :(得分:0)
我遇到了类似的问题,发现无法将 objectId 与指针对象进行比较。所以在上面的例子中:
userQuery.doesNotMatchKeyInQuery("objectId", "theirUserId", myfriends);
theirUserId 需要是一个包含实际字母数字Id的字符串键,而不是指针。
答案 3 :(得分:0)
这是Parse Server中的运行问题 https://github.com/parse-community/parse-server/issues/4346