mongodb - monogdb "errmsg"中的错误:“WiredTigerIndex::insert:键太大无法索引,失败

标签 mongodb mongodb-query

我在 mongo 中创建索引:

db.table.createIndex({"chr" : 1, "Start" : 1, "End" : 1, "Ref" : 1, "Alt" : 1}) 

运行一段时间后报错:

error in monogdb "errmsg" : "WiredTigerIndex::insert: key too large to index, failing

如何修复此错误?

最佳答案

在MongoDB中,从2.6开始,一个索引条目的总大小必须小于1024字节。 Documentation here

换句话说,至少有一份文档在您尝试索引的字段之一中具有较大的值(value)。

一般来说,像这样索引非常大的值并不是一个好主意,因为它会创建一个大索引,与较小的索引相比效率较低,并且它会占用更多的 RAM 空间,而这些空间可以更好地用于 MongoDB 节点.

你可以使用这个:mongod --setParameter failIndexKeyTooLong=false

但这看起来不是个好主意。如果您有大量文本需要索引,您应该考虑使用全文索引,或者您可以使用散列索引。

关于mongodb - monogdb "errmsg"中的错误:“WiredTigerIndex::insert:键太大无法索引,失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43342082/

相关文章:

javascript - 如何使用 Node.js 在 MongoDB 中查找下一个文档

javascript - 构建动态 $match : for MongoDB aggregates

MongoDB 删除返回 nRemoved 0

mongodb - 聚合管道抛出错误 "A pipeline stage specification object must contain exactly one field."

arrays - 在MongoDB中将多个文档转换为一个文档

C# mongodb driver 2.0 - 如何在批量操作中更新插入?

mongodb - 如何确保 mongodb 地理空间坐标中的小数精度?

javascript - Node.js Mongoose 的麻烦

c# - 具有从非泛型基类继承的泛型类的 MongoDB C# 驱动程序类型鉴别器

MongoDB 按名称对数组中的项目进行计数