Failed: psg.cabinet: error creating indexes for psg.cabinet: createIndex error: exception: unsupported geo index version { 2dsphereIndexVersion : 2dsphereIndexVersion: 3 }, only support versions: [1,2]
這是我同步線上的mongo資料報錯的, 線上用的3.2.4 ,我觀察發現這個集合的索引是
{
"v" : 1,
"key" : {
"location.loc" : "2dsphere"
},
"name" : "location.loc_2dsphere",
"ns" : "psg.cabinet",
"2dsphereIndexVersion" : 3
}
然後我同步到本地的時候就報上面的錯,我的Mongo版本是 3.2.0,但加索引後是
{
"v" : 1,
"key" : {
"location.loc" : "2dsphere"
},
"name" : "location.loc_2dsphere",
"ns" : "psg.cabinet",
"2dsphereIndexVersion" : 2
}
請問下 這裡的 2dsphereIndexVersion 怎麼去改3
黄舟2017-05-02 09:22:31
{2dsphereIndexVersion: 3}
是MongoDB 3.2开始支持的新版本,3.2默认使用这个版本创建2dsphere
索引。如果你建立索引時使用的不是這個版本,只能說明你使用的版本不是3.2。請先檢查這一點。
另外原則上講不應該把新版本的資料庫恢復到舊版本上(雖然不一定會造成問題),所以你本地使用的mongodb版本應該至少比線上要新。
關於version 3和version 2的區別有興趣可以看看這篇blog。