2013-08-04 95 views
0

我需要在MongoDB集合上進行一些地理空間查詢。我在GeoJSON點對象上創建了一個2dsphere索引。對象是這樣的:地理空間查詢不能在另一臺PC上工作

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

我添加使用

db.Venue.ensureIndex({loc:"2dsphere"}) 

它完美workes以及我的Mac上的索引。但後來我轉移到Ubuntu PC並重新創建了數據庫和索引。 但在Ubuntu上,地理空間查詢不起作用。 MongoDB中說

{ errmsg: 'no geo index :(', ok: 0 } 

在我的Mac,db.Venue.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.Venue.getIndexes()返回一個不同的對象:

[ 
{ 
    "v" : 1, 
    "key" : { 
     "_id" : 1 
    }, 
    "ns" : "syftdb.Venue", 
    "name" : "_id_" 
}, 
{ 
    "v" : 1, 
    "key" : { 
     "loc" : "2dsphere" 
    }, 
    "ns" : "syftdb.Venue", 
    "name" : "loc_" 
} 
] 

您看到名稱字段不同。這是問題嗎?名稱字段必須相同嗎?

蒙戈版本: 蘋果:2.0.6 64位 Ubuntu的:2.4.4 64位

回答

1

2dsphere指標不可用MongoDB中版本早於2.4

是我的錯!我問一個真正愚蠢的問題,而不先查詢!

相關問題