0

在 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 任务似乎是最好的,但我不清楚它是如何构建的。

4

0 回答 0