【问题标题】:mongodb geoSpatial query doesn't workmongodb geoSpatial 查询不起作用
【发布时间】:2012-12-16 15:17:19
【问题描述】:

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

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}})

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

【问题讨论】:

  • 你遇到了什么错误?
  • 尝试为您的$near 键提供一个数组值:-{$near: [34, 32]}

标签: java mongodb mongo-shell


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2012-06-14
    • 2012-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-12
    • 1970-01-01
    • 1970-01-01
    • 2019-08-24
    相关资源
    最近更新 更多