Mongo更新到3.2会出现错误' GridFS:索引名称:files_id_1_n_1已经存在,包含不同的选项'

时间:2016-10-25 15:01:20

标签: mongodb

将mongo从3.0更新到3.2后,在尝试使用mongofiles将新文件放入gridFS时出现以下错误:

  

2016-10-25T15:23:10.765 + 0200失败:存储' execute.sh'时出错intoGridFS:名称为:files_id_1_n_1的索引已存在,具有不同的选项

因此,文件部分插入到GridFS中。我可以看到集合.chunks和.files中的条目,但我无法使用mongofiles或Java驱动程序获取存储的文件。

1 个答案:

答案 0 :(得分:1)

解决方案是删除.file集合索引files_id_1_n_1。 我是用robomongo做的,但你也可以直接使用mongo console

db.getCollection('configs.chunks').dropIndex('files_id_1_n_1')

然后我只使用mongofiles放置一个新文件,它重新创建了索引。 我已经通过安全性重新编制索引,但可能没有必要。

db.getCollection('configs.chunks').reIndex()

我没有看到两个索引之间有任何区别,也许我的解决方案并不是最好的解决方案,但它有效。