MongoDB几何查询不起作用

时间:2013-04-12 15:29:41

标签: mongodb mongoose

我在我的数据库中存储了一些GeoJSON点,我无法使用新的geoWithin(2.4.1)查询它们。

以下是我的收藏品的索引:

> db.features1.getIndexes();
[
    {
        "v" : 1,
        "key" : {
            "_id" : 1
        },
        "ns" : "sagedb.features1",
        "name" : "_id_"
    },
    {
        "v" : 1,
        "key" : {
            "geometry" : "2dsphere"
        },
        "ns" : "sagedb.features1",
        "name" : "geometry_2dsphere"
    }
]

这是我在db中的一个文档

> db.features1.find();
{ 
  "_id" : ObjectId("51672e677a62bb0000000003"), 
  "geometry" : { 
    "type" : "Point", 
    "coordinates" : [ -106.8610919, 49.665165099999996 ] }, 
  "__v" : 0 }

我正在尝试运行此查询:

> db.features1.find( {
  geometry: { 
    $geoWithin: { 
      $geometry: { 
        type: "Polygon", 
        coordinates: [ [ [-180,-90], [-180,90], [180,90], [180,-90], [-180,-90] ] ] } } } });

但我什么都没得到。我有什么想法吗?

1 个答案:

答案 0 :(得分:1)

边界多边形必须<&lt;一个半球。如果它大于半球,它将不会返回任何东西。

2.4.1文档中缺少此内容。