【问题标题】:MongoDB exception: WiredTigerIndex::insert: key too large to indexMongoDB 异常:WiredTigerIndex::insert: key too large to index
【发布时间】:2016-08-07 15:01:40
【问题描述】:

我有一个 MongoDB 集合。

我想更改索引,使用双索引,而不是单索引。

所以我跑了:

db.allnews.ensureIndex( { "url": 1, "source": 1 }, { unique: true } )

然后我得到错误:

exception: WiredTigerIndex::insert: key too large to index

并且限制为 1024 字节

那么解决办法是什么...?

(1) 以某种方式忽略它.. 以某种方式跳过这些太长的记录,而不停止整个过程..?

--setParameter failIndexKeyTooLong=false

??这可以解决问题吗..?

(2)通过某种查询,找到过长的记录,并缩短它们..?

(3) 别的东西..?

【问题讨论】:

    标签: mongodb indexing


    【解决方案1】:

    好的,我解决了我的问题。

    运行这个:

    db.getSiblingDB('admin').runCommand( { setParameter: 1, failIndexKeyTooLong: false } )
    

    然后你可以创建你的双索引而不会引发错误

    db.getCollection("allnews").ensureIndex( { "url": 1, "source": 1 }, { unique: true } )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-01
      • 2019-07-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多