我正在尝试以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}})
任何人都可以指出阻止这种情况发生的原因吗?
答案 0 :(得分:2)
AFAIK,$near
获取两个目标值的数组,因此您可以尝试在数组中提供值: -
db.events.find({location:{ $near : [34, 32],$maxDistance:10 / 3963.192}})