Mongodb 地理空间查询在另一台电脑上不起作用

Mongodb 地理空间查询在另一台电脑上不起作用,mongodb,geospatial,Mongodb,Geospatial,我需要在mongodb集合上进行一些地理空间查询。我在GeoJSON点对象上创建了一个2dsphere索引。目标是: { "loc" : { "type" : "Point", "coordinates" : [ -122.419416, 37.77493 ] } } 我使用 db.Venue.ensureIndex({loc:"2dsphere"}) 它在我的mac电脑上运行得非常好。但后来我搬到了Ubuntu电脑上,重新创建了数据库和索引但在Ubuntu上,地理空间查询不起作用。Mong

我需要在mongodb集合上进行一些地理空间查询。我在GeoJSON点对象上创建了一个2dsphere索引。目标是:

{ "loc" : { "type" : "Point", "coordinates" : [ -122.419416, 37.77493 ] } }
我使用

db.Venue.ensureIndex({loc:"2dsphere"})
它在我的mac电脑上运行得非常好。但后来我搬到了Ubuntu电脑上,重新创建了数据库和索引但在Ubuntu上,地理空间查询不起作用。MongoDB说

{ errmsg: 'no geo index :(', ok: 0 }
在我的mac上,db.venture.getIndexes返回:

[
    {
        "v" : 1,
        "key" : {
            "_id" : 1
        },
        "ns" : "syftdb.Venue",
        "name" : "_id_"
    },
    {
        "v" : 1,
        "key" : {
             "loc" : "2dsphere"
         },
        "ns" : "syftdb.Venue",
        "name" : "loc_2dsphere"
    }
]
但是在Ubuntu PC db.venture.getIndexes()上返回一个不同的对象:

[
{
    "v" : 1,
    "key" : {
        "_id" : 1
    },
    "ns" : "syftdb.Venue",
    "name" : "_id_"
},
{
    "v" : 1,
    "key" : {
        "loc" : "2dsphere"
    },
    "ns" : "syftdb.Venue",
    "name" : "loc_"
}
]
您可以看到名称字段是不同的。这就是问题所在吗?名称字段必须相同吗

Mongo版本: Mac:2.0.6 64位
Ubuntu:2.4.4 64位

2Sphere索引在早于2.4的mongodb版本中不可用

我真蠢!我没抬头就问了一个很傻的问题