【发布时间】:2020-03-27 07:05:44
【问题描述】:
调试 MongoDB mapreduce 很痛苦,所以我不能 100% 确定我理解这里发生了什么,但我想我明白了……
我收到的错误消息是:mr failed, removing collectionCannotCreateIndex: namespace name generated from index name "my_dbname.tmp.mr.collectionname_69.$_id.aggregation_method_1__id.date_key.start_1__id.date_key.timeres_1__id.region.center_2dsphere" is too long (127 byte max)
我用于 mapreduce 的键是一个具有四个或五个属性的复杂对象,所以我猜测发生的情况是,当 Mongo 尝试使用我指定的键创建其临时输出集合时,它会尝试自动创建该复杂键的索引;但是由于密钥本身有几个属性,因此密钥的默认名称太长。当我在“正常”情况下索引这样的复杂对象时,我只是给索引一个自定义名称。但我没有看到一种方法可以为 mapreduce 自动生成的集合做到这一点。
有没有一种简单的方法可以在不改变我的密钥结构的情况下解决这个问题?
【问题讨论】:
标签: mongodb mapreduce mongodb-indexes