2016-08-08 2 views
0

私は、場所から20km以内にある最も近いParseオブジェクトを取得しようとしています。パンククラウドにあるギンクラのジオクエリーが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クエリを動作しますが、ありません。

これは解析サーバのバグやmlabの問題ですか、私の一部のばかげた間違いですか?

+0

あなたの解析サーバーのバージョンは何ですか? –

答えて

1

ごめんなさい。私は、geopointを設定するときにjavascriptの文字列をfloatに変換するのをやめました。

+0

どのように解決しましたか?数字に型キャストするだけですか? – InfinitePrime

+0

は正確には記憶できませんが、フロートであることを確認しました。 – pseudozach

関連する問題