0

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

mongodb 2d 索引:

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

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

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

从 shell 调用集合的 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}})

任何人都可以指出是什么阻止了它的工作?

4

1 回答 1

2

AFAIK,$near采用两个目标值的数组,因此您可以尝试在数组中给出您的值:-

db.events.find({location:{ $near : [34, 32],$maxDistance:10 / 3963.192}})
于 2012-12-16T15:57:00.610 回答