我需要索引一个可能存储字符串/数字(int或float)或数组的字段。
我使用({field:1})对其进行索引,但是有些内容很大,我得到的“键太大而不能索引”错误。
如果我使用文本索引对其进行索引,该怎么解决我的问题呢?它也会索引数字吗?
有没有办法为支持大内容的单个字段(数字和字符串)创建多个索引?
感谢。
答案 0 :(得分:0)
在Mongodb中,Index Key Limit小于1024字节,您可以将索引更改为text index或hashed index。
然而,字段或字段的文本索引的值是字符串或字符串元素数组,因此在您的情况下,最好使用散列索引
db.collection.createIndex( { field: "hashed" } )
顺便说一句,也许还有另一种方法可以使用failIndexKeyTooLong
as false启动mongodb,以禁用索引键限制。
sudo mongod --setParameter failIndexKeyTooLong=false