我正在查询PFObject A. PFObject A可以有一个指向PFObject B的指针。
我想获得“A”对象,但我不想让那些没有指向B的对象。
我该怎么做?
编辑: 为了更好地澄清我的问题,我正在编辑它:
PFObject A有一个指向B的指针。
在查询中我查询A对象,但我希望查询返回任何没有有效指针指向B的A对象。
所以,“如果找不到A中的B指针,则不返回A”......
答案 0 :(得分:0)
如果您存储了PFObjectB的objectId
,那么可能是这样的:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"objectBID <> %@", nil];
PFQuery *query = [PFQuery queryWithClassName:@"MyObjectClassName" predicate:predicate];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
for (PFObject *anObject in objects)
{
NSLog(@"getNoneNilObjects error: %@ objects: %@", error, anObject);
}
}];
答案 1 :(得分:0)
我认为您正在寻找whereKeyExists
或whereKeyDoesNotExist
等查询修饰符。
如果您担心密钥确实存在(指向B的指针)但是B实际上已被删除,那么您可以使用whereKeyExists
然后只使用objectId运行B的查询。循环访问A对象并将其ID放入新数组中。然后执行以下操作:[bQuery whereKey:@"objectId" containedIn:objectIdArray];
。无论B对象返回什么,都会确认带有指针的A对象指向有效的B对象。