MongoDB map减少upsert

时间:2014-12-08 12:21:41

标签: mongodb

我不知道我是否正在使用正确的方式说出我需要的东西,通过" upsert"。我是mongoDb的新手,我需要的是这个。我有一个SOURCE系列和一个TARGET系列。 SOURCE集合不断变化(相同结构,新数据)。我在SOURCE上运行mapreduce到TARGET,但我需要不断更新,而不是替换TARGET中存在的数据。例如,如果我在TARGET中有3个子文档和源自SOURCE的2个新子文档,我需要在TARGET中获取5个子文档。这可以实现吗?如果是,怎么样?

1 个答案:

答案 0 :(得分:1)

这里有一个很棒的概念,称为“rereduce'。

基本上,它允许您在现有集合上运行reduce函数。

这是最有帮助的一点:

http://docs.mongodb.org/manual/tutorial/perform-incremental-map-reduce/

基本上你需要这样做:

db.mycollection.mapReduce(myMapper, myReducer, {out:{reduce:'targetCollection'}});

享受!