我有一个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)还有什么......?
答案 0 :(得分:2)
好的,我解决了我的问题。
运行:
db.getSiblingDB('admin').runCommand( { setParameter: 1, failIndexKeyTooLong: false } )
然后你可以创建你的双索引而不会抛出错误
db.getCollection("allnews").ensureIndex( { "url": 1, "source": 1 }, { unique: true } )