我构建了一个伟大的地图缩减和我的数据是完美的。我唯一的问题是,地图减少了每次页面加载时,在每个用户之间创建集合的次数。这是地图缩减的正常用法,还是我应该使用cron来运行它,就像每天在后台运行一次一样,还是以其他方式生成内容,然后每次加载它。
发布于 2014-02-23 03:21:14
MapReduce的常用用例是将其作为后台作业运行,要么创建报表,要么缓存聚合和/或转换后的查询数据。因此,默认行为是将数据写入新集合。
但是MapReduce也有一个选项可以直接给出输出。在mongo中执行MapReduce命令时,可以将对象{ inline: 1 }作为out:参数传递。下面是一个示例:
db.runCommand(
{
mapReduce: 'source_collection',
map: mapFunction,
reduce: reduceFunction,
out: { inline: 1 }
}您没有说明您使用的是什么数据库驱动程序,所以唯一的建议是参考它的文档来了解它是否以及如何公开此功能。
请记住,聚集管线可以涵盖除最模糊的所有用例之外的所有内联MapReduce的用例,这些用例通常具有更好的性能和更易读的代码。
https://stackoverflow.com/questions/21962739
复制相似问题