为什么matchesKeyInQuery返回所有结果,而不仅仅是当前用户的结果?

时间:2014-11-27 21:38:33

标签: javascript jquery parse-platform

使用Parse.com和JavaScript SDK。

这里可以找到一个小提琴。结果应该只返回徽章5而不是徽章8。

尝试使用matchesKeyInQuery来实现以下目标: 1 - 仅为当前用户返回结果 2 - 仅返回B_Notify列等于“未读”的当前用户的结果 3 - 包括对“SentTo和”uploadBy“

列的访问权限

目前,以下查询似乎并不仅限于当前用户,因为正在返回所有结果。

另外,除非我在NotificationTwo.matchesKeyInQuery查询中重复“SentTo”,否则无法让查询生效

有人能告诉我我做错了什么,或者如何纠正它?

                var NotificationOne = new Parse.Query("myBadges");
                NotificationOne.equalTo("B_Notify", "Unread");   

                 var currentUser = Parse.User.current();

                var NotificationTwo = new Parse.Query("myBadges");
                NotificationTwo.include('SentTo', currentUser);
                NotificationTwo.include('uploadedBy');

                NotificationTwo.matchesKeyInQuery("SentTo", "SentTo", NotificationOne);

                NotificationTwo.find({  

enter image description here

1 个答案:

答案 0 :(得分:1)

根据您提供的查询,我认为可以重写如下:

var notificationQuery = new Parse.Query('myBadges');
notificationQuery.equalTo('B_Notify', 'Unread');
notificationQuery.equalTo('SentTo', Parse.User.current());
notificationQuery.include(['SentTo', 'uploadedBy']);
notificationQuery.find({ ...