2014-07-22 1 views
0

으로 쿼리를 "가장 가까운을 가리 키도록"다음과 같이 내가 객체의 위치에 '체크인'수업 시간에 가장 가까운 항목을 얻기 위해 상대적으로 표준 구문 분석 쿼리를 추가 제약

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')); 

을하지만이 추가로 나는 더 이상 쿼리에서 어떤 결과가 나타날 : 추가 제약에 내가 추가이를 방지하기 위해 내 코드는 이제 다음과 같습니다 있도록. 제약 조건을 추가하고 필요한 결과를 얻으려면 어떻게해야합니까?

+0

영어로 당신이 원하는 것을 당신이 원하는대로 기술 할 수 있도록 도와 줄 수 있습니까? 아니면 현재 사용자를 건너 뛰고 싶습니까? btw notEqualTo는 일을 늦추는 값 비싼 쿼리 연산자입니다 ... – PetrV

+0

위의 예는 문제가있는 예입니다. 즉, '근접'조건과 추가 제약 조건이 모두 포함 된 쿼리가 실패합니다. parse 사람들과 논의한 후에는 제품에 버그가있는 것 같지만 추가로'nearEqualTo' 제약 조건을 가진'near'에 대한 일반적인 해결 방법은 좋을 것입니다 ('notEqualTo'는' 더 복잡한 예제의 경우 doesNotMatchQuery') – jgm

+0

반환되는 원시 쿼리 데이터의 샘플을 게시 할 수 있습니까? 열 머리글 및 모든 열을 포함하여 필터링 전 –

답변

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')); 

'제한'을 반환하는 행이 유효한 값을 반환하는지 확인하고자 할 수도 있습니다.

+0

응답 해 주셔서 감사합니다. 그러나 이것은 문제가 아닙니다. 문제는 'near()'를 다른 제약과 결합하면 쿼리가 실패하게됩니다. – jgm