搜索

首页  >  问答  >  正文

mongodb - mongo 索引问题 geo

1

2

<code>Failed: psg.cabinet: error creating indexes for psg.cabinet: createIndex error: exception: unsupported geo index version { 2dsphereIndexVersion : 2dsphereIndexVersion: 3 }, only support versions: [1,2]

</code>

这是我同步线上的mongo数据报错的, 线上用的3.2.4 ,我观察发现这个集合的索引是

1

2

3

4

5

6

7

8

9

10

<code>{

        "v" : 1,

        "key" : {

            "location.loc" : "2dsphere"

        },

        "name" : "location.loc_2dsphere",

        "ns" : "psg.cabinet",

        "2dsphereIndexVersion" : 3

    }

</code>

然后我同步到本地的时候就报上面的错,我的Mongo版本是 3.2.0,但加索引后是

{

1

2

3

4

5

6

7

8

9

<code>        "v" : 1,

        "key" : {

            "location.loc" : "2dsphere"

        },

        "name" : "location.loc_2dsphere",

        "ns" : "psg.cabinet",

        "2dsphereIndexVersion" : 2

    }

    </code>

请问下 这里的 2dsphereIndexVersion 怎么去改为3

大家讲道理大家讲道理2799 天前789

全部回复(1)我来回复

  • 黄舟

    黄舟2017-05-02 09:22:31

    {2dsphereIndexVersion: 3}是MongoDB 3.2开始支持的新版本,3.2默认使用这个版本创建2dsphere索引。如果你创建索引时使用的不是这个版本,只能说明你使用的版本不是3.2。请先检查这一点。
    另外原则上讲不应该把新版本的数据库恢复到老版本上(虽然不一定会造成问题),所以你本地使用的mongodb版本应该至少比线上要新。
    关于version 3和version 2的区别有兴趣可以看一下这篇blog。

    回复
    0
  • 取消回复