在大型字段中删除mongodb重复删除(119个字段)

时间:2015-08-12 14:01:53

标签: mongodb aggregation-framework

我有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

如何解决?

1 个答案:

答案 0 :(得分:1)

错误消息显示索引的自动生成名称已超过索引名称长度。

来自documentation

  

索引名称长度完全限定的索引名称,包括   命名空间和点分隔符(即.. $),不能超过128个字符。

     

默认情况下,是字段名称和的串联   索引类型。您可以明确指定   createIndex()方法确保完全限定索引名称   不超过限制。

因此,请在 ensureIndex createIndex 选项参数中为索引指定自己的索引名称:

{unique : true, name: myAwesomeIndex}