在 Oracle 中存在 LAG 分析功能,用于访问前一行的数据。
有没有什么直接的方法可以用 MongoDB 达到同样的效果?
我真正想做的是显示股票价格的每日变化。所以从下面的输入
{
{"stock":"Bob",
"date":"2012-12-01",
"price":97.99
},
{"stock":"Bob",
"date":"2012-12-02",
"price":98.99
},
{"stock":"Bob",
"date":"2012-12-03",
"price":99.99
},
.
.
.
}
我想返回一些类似的东西
{
{"stock":"Bob",
"date":"2012-12-01",
"dailyChange":null
},
{"stock":"Bob",
"date":"2012-12-02",
"dailyChange":1.0
},
{"stock":"Bob",
"date":"2012-12-03",
"dailyChange":1.0
},
.
.
.
}
但要做到这一点,我每次都需要访问我正在处理的行之前的行。如果可能的话,能够使用聚合框架来做到这一点真是太好了。
任何建议都非常感谢。
谢谢,
马特。
更新:
正如下面所建议的,将这些信息存储下来是有意义的,因为数据没有变化。这意味着每次新价格出现时,都需要创建新的每日变化值。
这样做的最佳方法是什么?map reduce 任务似乎是最好的,但我不清楚它是如何构建的。