我有一个类跟踪用户之前是否看过某个对象。如果是这样,那么我添加一行说USER已经看到了OBJECT。现在我有一个查询来获取一个新的对象列表,我不希望用户看到他们已经看过的对象。
我有一个非常复杂的查询来获取新的对象列表,但我在下面粘贴用户以前没有看过的对象的部分:
// Query the object class
PFQuery *haventSeenBeforeQuery = [PFQuery queryWithClassName:ObjectSeenClass];
// Find all objects that the logged in user has seen
[haventSeenBeforeQuery whereKey:UserKey equalTo:[PFUser currentUser]];
// Make sure the query does not return objects the user has already seen
[query whereKey:@"objectId" doesNotMatchKey:UserIDStringKey inQuery:haventSeenBeforeQuery];
我遵循了这里的建议:https://parse.com/questions/trouble-with-nested-query-using-objectid。并在我的User类中添加了一个额外的列,其中包含用户的objectId字符串。
大部分时间这种方法都很完美,但是我有一小部分用户正在看到他们已经看过一遍又一遍的对象。我检查了并且ObjectSeen行被添加到Parse,所以我认为Parse正在返回我告诉它的对象我不想看到。