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 のバージョンは、少なくともオンライン バージョンよりも新しい必要があります。
バージョン 3 とバージョン 2 の違いに興味がある場合は、このブログを読んでください。