MongoDB异常:WiredTigerIndex :: insert:key太大而无法索引

时间:2016-08-07 15:01:40

标签: mongodb indexing

我有一个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)还有什么......?

1 个答案:

答案 0 :(得分:2)

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

运行:

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

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

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