2015-02-13 2 views
0

Я рассмотрел другие сообщения переполнения стека по этой теме, и похоже, что я столкнулся с чем-то новым. Этот метод запроса не находится в таблице пользователя.Метод parse.Query find() не возвращает ничего

Когда я запрашиваю расстояние или многие другие столбцы в объекте mBuilding, я получаю undefined, даже если столбцы явно там, и я копирую и вставляю заголовок столбца в функцию для проверки орфографии. Из того, что я видел, единственные запросы, которые работают, получаются с objectId и find. equalTo, select, WithinMiles (по крайней мере) возвращают null/undefined results. Еще более интересно то, что даже если запрос, предшествующий find(), не определен, он соответствующим образом влияет на результат поиска. Это действительно сбивает с толку.

Что здесь происходит? Мой код:

angular.module('startupApp') 
.controller('warrantyCtrl', function ($scope) { 
    $scope.Building = {}; 

    $scope.Building.parseUserId = Parse.User.current().id; 
    console.log($scope.Building.parseUserId); 
    var consumer = Parse.User.current(); 
    var user = Parse.Object.extend("User"); 
    var warrantys = Parse.Object.extend("warranty"); 
    var mBuilding = new Parse.Query(warrantys); 
    var consumerQuery = new Parse.Query(Parse.User); 

    $scope.consumerBuilding = function() { 
     var location = consumer.get("location"); 
     mBuilding.withinMiles("location", location, "distance"); 
     mBuilding.find({ 
      success: function (proximalwarrantys){ 
       console.log(proximalwarrantys); 
      } 
     }) 
    } 
    $scope.consumerBuilding(); 

}); 
+0

Код выглядит отлично. Должна быть какая-то другая проблема. Правильно ли указано имя класса «гарантия» и правильность имен столбцов? –

+0

Имена столбцов положительно верны. Я скопировал и вставил их из Parse в код, чтобы быть уверенным. Для целей этого вопроса гарантия является посторонней - я прокомментировал ее без каких-либо последствий. – rashadb

+0

расстояние должно быть числом, а не «расстоянием». [Api Docs] (https://www.parse.com/docs/js/symbols/Parse.Query.html#withinMiles) –

ответ

1

Вопрос расстояние передается функции withinMiles должно быть числом, а не "distance":

withinMiles(key, point, maxDistance)

Добавить проксимити на основе ограничений для поиска объектов с ключом точечные значения вблизи указанной точки и в пределах заданного максимального расстояния. Используемый радиус земли - 3958,8 миль.

Параметры:

{String} key Ключ, что это Parse.GeoPoint хранится в

{Parse.GeoPoint} point Эталонный Parse.GeoPoint, которое используется ..

{Number} maxDistance Максимальное расстояние (в милях) от результатов до возвращение. Возвращает:

{Parse.Query} Возвращает запрос, поэтому вы можете связать этот вызов .

Parse API Docs

+0

Я знаю это из документов. «distance» - это число в соответствующем синтаксическом объекте, который действует как максимальное расстояние для этого запроса. – rashadb

+0

Что вы имеете в виду? Если вам нужны данные от объекта, вам нужно будет использовать 'get (" location ")' на соответствующем объекте, а затем передать это. –

+0

Что делать, если у меня есть массив местоположений для оценки расстояния? – rashadb

Смежные вопросы