2016-08-08 5 views
0

Я пытаюсь получить ближайший объект Parse, находящийся в пределах 20 км от местоположения.withinkilometers geoquery in parse cloud fail с ошибкой MongoDB

var testPoint = new Parse.GeoPoint({latitude: fromLatLng.lat, longitude: fromLatLng.lng}); 
    var BKcity = Parse.Object.extend("BKcity"); 
    var cityQuery = new Parse.Query(BKcity); 
    //Throws mongo error 
    cityQuery.withinKilometers("location", testPoint, 20); 
    cityQuery.find({ 
    ... 

Однако запрос терпит неудачу с:

�[31merror�[39m: Uncaught internal server error. { [MongoError: Can't canonicalize query: BadValue geo near accepts just one argument when querying for a GeoJSON point. Extra field found: $maxDistance: 0.003139224611520954] 
     name: 'MongoError', 
     message: 'Can\'t canonicalize query: BadValue geo near accepts just one argument when querying for a GeoJSON point. Extra field found: $maxDistance: 0.003139224611520954', 
     '$err': 'Can\'t canonicalize query: BadValue geo near accepts just one argument when querying for a GeoJSON point. Extra field found: $maxDistance: 0.003139224611520954', 
     code: 17287 } MongoError: Can't canonicalize query: BadValue geo near accepts just one argument when querying for a GeoJSON point. Extra field found: $maxDistance: 0.003139224611520954 
     at Function.MongoError.create (D:\home\site\wwwroot\node_modules\mongodb-core\lib\error.js:31:11) 
     at queryCallback (D:\home\site\wwwroot\node_modules\mongodb-core\lib\cursor.js:182:34) 
     at Callbacks.emit (D:\home\site\wwwroot\node_modules\mongodb-core\lib\topologies\server.js:119:3) 
     at null.messageHandler (D:\home\site\wwwroot\node_modules\mongodb-core\lib\topologies\server.js:295:23) 
     at Socket.<anonymous> (D:\home\site\wwwroot\node_modules\mongodb-core\lib\connection\connection.js:285:22) 
     at emitOne (events.js:77:13) 
     at Socket.emit (events.js:169:7) 
     at readableAddChunk (_stream_readable.js:146:16) 
     at Socket.Readable.push (_stream_readable.js:110:10) 
     at TCP.onread (net.js:523:20) 

запрос работает на JavaScript, .near() запрос работает, но не withinKilometers запрос.

Является ли это ошибкой parse-server или проблемой mlab или глупой ошибкой с моей стороны?

+0

Какова ваша версия синтаксического анализа? –

ответ

1

Извините. Оказывается, я испортил преобразование строки javascript в float при настройке геоинформации.

+0

Как вы его разрешили? Просто придумайте его номер? – InfinitePrime

+0

точно не помню, но просто удостоверился, что это поплавок. – pseudozach