使用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({
答案 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({ ...