mongodb geoSpatial查询不起作用

时间:2012-12-16 15:17:19

标签: java mongodb mongo-shell

我正在尝试以km / miles为单位获取特定半径内的记录。

mongodb 2d指数:

db.collection.ensureIndex({locaction:"2d"})

集合中的记录具有索引键:

"location" : { "longitude" : 34.791592164168, "latitude" : 32.0516908 0405 }

从shell调用collection的getIndexes()给我这个:

       ...{
           "v" : 1,
           "key" : {
                   "location" : "2d"
           },
           "ns" : "events.events",
           "name" : "location_2d"
   }...

尽管如此,尝试使用此命令获取记录失败:

> db.events.find({location:{ $near :{ longitude:34,latitude:32},$maxDistance:10 / 3963.192}})

任何人都可以指出阻止这种情况发生的原因吗?

1 个答案:

答案 0 :(得分:2)

AFAIK,$near获取两个目标值的数组,因此您可以尝试在数组中提供值: -

db.events.find({location:{ $near : [34, 32],$maxDistance:10 / 3963.192}})