如何解决Pymongo mapreduce中的重命名异常

时间:2015-03-09 19:04:10

标签: python mongodb dictionary reduce

我有一个map reduce,每小时在我的服务器上作为cronjob运行。我遇到了一个错误,阻止地图减少完成。这通常发生在我在本地运行map reduce脚本时,它与服务器上的map reduce同时发生冲突。还有一些情况我在发生错误时作为服务器作业在不同的时间本地运行它。错误是

errmsg: "exception: rename failed: { errmsg: "exception: target namespace exists", code: 10027, ok: 0.0 }", code: 10076, ok: 0.0 }

此错误阻止我删除集合以及运行我的脚本以写入当前缩减的集合。你知道如何防止这种情况发生或解决问题,以便我可以删除集合

这是我用来运行map reduce

的命令
articles.map_reduce(map, reduce, "articleTrending", query=queryFilter)

1 个答案:

答案 0 :(得分:1)

不是将“articleTrending”作为“out”参数传递,而是听起来像是要“替换”该集合。所以你可以这样做:

articles.map_reduce(map, reduce, {"replace": "articleTrending"}, query=queryFilter)

如何处理mapReduce输出有很多选项。官方MongoDB文档为“out”are here。有一些python examples here