Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Parse platform 具有附加约束的“最接近点”查询_Parse Platform_Parse Cloud Code - Fatal编程技术网

Parse platform 具有附加约束的“最接近点”查询

Parse platform 具有附加约束的“最接近点”查询,parse-platform,parse-cloud-code,Parse Platform,Parse Cloud Code,我有一个相对标准的解析查询来获取“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')); 这与预期的一

我有一个相对标准的解析查询来获取“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'));
但是有了这个添加,我不再从查询中收到任何结果。我怎样才能添加约束并仍然获得所需的结果?

我的建议:

添加一个名为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')); 

您还需要确保获取“limit”的行返回一个有效值。

您能用简单的英语描述一下您想从查询中得到什么,以便我们可以帮助您构建它吗?或者你只是想跳过当前用户?顺便说一句,notEqualTo是一种昂贵的查询操作符,它会减慢速度……以上就是一个名义上的问题的例子,即任何具有近约束和附加约束的查询都会失败。在与解析人员进行了一些讨论之后,似乎这可能是他们产品中的一个bug,但与此同时,使用附加的notEqualTo约束来解决near问题将是一个不错的选择。注意,notEqualTo可以是doesNotMatchQuery,用于更复杂的示例扫描您发布了返回的原始查询数据的示例?在进行任何筛选之前,包括列标题和所有列。感谢您的回复,但这不是问题所在;问题在于,将近邻约束与任何其他约束相结合似乎会导致查询失败。