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

How to resovle rename exception in Pymongo map reduce

我有一个地图作为 cronjob 在我的服务器上每小时减少 运行s。我遇到了一个错误,导致 map reduce 无法完成。这通常发生在我 运行 本地 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)

不是将 "articleTrending" 作为 "out" 参数传递,听起来您想 "replace" 该集合。所以你可以这样做:

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

对于如何处理 mapReduce 输出有多种选择。 "out" are here. There are some python examples here.

的官方 MongoDB 文档