0

我有一个相对标准的 Parse 查询来获取“checkIn”类中最接近对象位置的项目,如下所示:

var checkInObject = Parse.Object.extend('checkIn');
var query = new Parse.Query(checkInObject);
query.near('location', request.object.get('location'));
query.limit(Parse.User.current().get('limit'));

这可以按预期工作,但是可以返回执行请求的用户的签到。为了避免这种情况,我添加了一个额外的约束,所以我的代码现在看起来像这样:

var checkInObject = Parse.Object.extend('checkIn');
var query = new Parse.Query(checkInObject);
query.near('location', request.object.get('location'));
query.notEqualTo('user', Parse.User.current());
query.limit(Parse.User.current().get('limit'));

但是有了这个添加,我不再从查询中收到任何结果。如何添加约束并仍然获得所需的结果?

4

1 回答 1

0

我的建议:

添加一个名为“ownerID”的字符串列,并为每个签入分配创建它的解析用户的 objectId 的值。然后,您可以这样做:

var checkInObject = Parse.Object.extend('checkIn');
var query         = new Parse.Query(checkInObject);
query.near('location', request.object.get('location'));
query.limit(Parse.User.current().get('limit'));

query.notEqualTo('ownerID', Parse.User.current().get('objectId')); 

您还需要确保获得“限制”的行返回有效值。

于 2014-08-14T16:32:00.177 回答