1

我有一个包含 2 个数字字段的解析表,我需要创建一个查询,该查询仅下拉字段 2 小于字段 1 的记录。

我试过这个,但它给出了一个例外,谓词必须有一个关键路径和一个常量:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"field2 < field1"];
PFQuery *query = [PFQuery queryWithClassName:parseRequestObject predicate:predicate];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {

    for (PFObject *object in objects) {
        NSLog(@"%@", object.objectId);
    }

}];
4

1 回答 1

1

似乎查询这个的唯一方法是获取所有数据并在设备上进行比较。但是,我设法使用云代码来解决它,该云代码在field2大于field1. 现在我可以只查询 BOOL 字段来获取我需要的记录。

Parse.Cloud.beforeSave("MyObject", function(request, response) {
    var field1 = request.object.get("field1");
    var field2 = request.object.get("field2");

    if (field2 >= field1) {
        request.object.set("completed", true);
    }

    response.success();
});
于 2014-03-20T14:36:11.813 回答