Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么MongoDB视图不支持MapReduce?_Mongodb_Mapreduce_Views - Fatal编程技术网

为什么MongoDB视图不支持MapReduce?

为什么MongoDB视图不支持MapReduce?,mongodb,mapreduce,views,Mongodb,Mapreduce,Views,我正在使用MongoDB开发一个数据库,希望将视图视为只读集合。特别是,我想在视图上运行map reduce函数。因此,我的问题包括: 为什么视图不支持map reduce 是否有计划在将来为视图提供map reduce功能 是否有一种变通方法允许我对查询结果运行map reduce MongoDB中的视图没有具体化,因此查询视图需要运行定义视图时指定的聚合管道。这意味着您可以通过聚合管道在视图上执行进一步的聚合,但不能使用map/reduce,因为它不能在执行过程中运行聚合阶段 在Mongo

我正在使用MongoDB开发一个数据库,希望将视图视为只读集合。特别是,我想在视图上运行map reduce函数。因此,我的问题包括:

  • 为什么视图不支持map reduce
  • 是否有计划在将来为视图提供map reduce功能
  • 是否有一种变通方法允许我对查询结果运行map reduce

MongoDB中的视图没有具体化,因此查询视图需要运行定义视图时指定的聚合管道。这意味着您可以通过聚合管道在视图上执行进一步的聚合,但不能使用map/reduce,因为它不能在执行过程中运行聚合阶段


在MongoDB中使用map/reduce可以完成的大多数事情都可以通过聚合管道完成(当然不是全部)。我建议您使用纯粹的聚合而不是map reduce,看看您能走多远。

您使用的是聚合管道吗?我相信我是(用于创建视图)。我使用$match操作符。这就是您的意思吗?Map和reduce在聚合管道中都可用:您可以将它们用作管道db.createView(“视图名称”、“源代码”、“管道”)中的步骤