MongoDb $在查询中使用java没有给出正确的位置

时间:2014-12-26 12:23:36

标签: java mongodb geolocation geospatial mongodb-query

我对mongodb中的$near进行了查询

我必须找到半径范围内特定位置的用户。

我有位置[ 18.58528075595879 , 73.73364686965942],我希望从250码半径搜索用户。

我有用户表,其中有gpsloc数组。 我把索引" 2d"在gpsloc

db.users.ensureIndex({loc: "2d"})

我正在尝试的查询

{ "gpsloc" : { "$near" : [ 18.58528075595879 , 73.73364686965942] , "$maxDistance" : 228.6} , "height" : "Average" , "hair" : "Brown" , "gender" : "Male"}

maxDistance (distance in meters/km/?)

需要什么

1 个答案:

答案 0 :(得分:0)

  

maxDistance所需的内容(以米/公里/米为单位的距离)

根据docs

  

要使用传统坐标指定点,$ near需要2d索引   并具有以下语法:

{$near:[ <x>, <y> ],$maxDistance:<distance in radians>}

该参数应使用radians中的值。

对于2dsphere索引,参数接受meters中的输入。