我有900万份文件,每份文件有119个字段
{ "_id" : 0,"field_1" : "value" , .....,"field_118" : "value" }
...
...
...
{ "_id" : 8999999,"field_1" : "value" , .....,"field_118" : "value" }
我试过
db.collection.ensureIndex({"field_1":1,"field_2":1,....,"field_118":1}, {unique : true, dropDups : true})
我收到了错误消息
"errmsg" : "namespace name generated from index name \"....(fields)..\" is too long (127 byte max)", "code" : 67
如何解决?
答案 0 :(得分:1)
错误消息显示索引的自动生成名称已超过索引名称长度。
索引名称长度完全限定的索引名称,包括 命名空间和点分隔符(即.. $),不能超过128个字符。
默认情况下,是字段名称和的串联 索引类型。您可以明确指定 createIndex()方法确保完全限定索引名称 不超过限制。
因此,请在 ensureIndex 或 createIndex 选项参数中为索引指定自己的索引名称:
{unique : true, name: myAwesomeIndex}