对mongoDb直接mapReduce有什么见解,或者得到结果然后mapReduce吗?
我想在一些文档上构建一些自定义查询。让我们说它类似于我的文档中有myArray
值,其内容为
myArray: [
{
event: 'foo',
timestamp: 1,
}, {
event: 'bar',
timestamp: 2,
}, {
event: 'baz',
timestamp: 3,
},
]
我想知道foo
和bar
之间的平均时间。
根据我的理解,我可以构建一个mongo查询来MapReduce我的收藏并给我结果。
或者我可以简单地查询myArray
键并mapReduce结果得到我想要的。
这两种方法都有任何利弊吗?
[edit] 请注意,我并没有要求 如何编写mapreduce代码,而是在问我是否应该将其写入数据库 - 侧面或服务器端
答案 0 :(得分:0)
服务器端会更快,但是使用应用程序代码重载数据库服务器并不总是明智的,并且数据库资源通常比通用后端计算机上的资源要贵得多。
无论如何,更快,更受控制的是Aggregation Pipeline:如果您的算法适合,这是正确的选择。