2015-12-05 51 views
0

我有一个文档,其中股票价格保存在MongoDB中的数组中的嵌入式文档中。我需要获得一个股票价格,具体取决于日期,并且都显示在模板中,还可用于进一步的计算。MongoDB查询数组中的嵌入式文档中的字段

我有一个Meteorpad的例子。使用@Hakan Kose的答案中的代码,获取股票价格的助手从/client/app.js第25行开始。不知道如何改变最后一行,但(console.log不会在这里工作)。

对于2015-12-01,查询应该返回117.34

{ 
    ticker: "AAPL", 
    valuationDate: "2015-12-01", 
    closingPrices: [ 
    {date: "2015-12-01", close: "117.34"}, 
    {date: "2015-12-02", close: "116.28"}, 
    {date: "2015-12-03", close: "115.20"}, 
    {date: "2015-12-04", close: "119.03"} 
    ] 
} 

谢谢你的帮助。

回答

1

你可以轻松地做到这一点;

Valuations.findOne({_id:this._id}, function(data){ 
    data.closingPrices.forEach(function(closingPrices){ 
     if(closingPrices.date === valuationDate){ 
      console.log(closingPrices.close) 
     } 
    }); 
}); 
+0

非常感谢。新手问题 - 你的最后一行使用'console.log',但我试图在模板中显示值并在计算中使用。我将你的代码添加到Meteorpad中,但我怎么才能相应地更改最后一行? – Bren

+1

根据您的新问题更改您的问题。添加你如何调用这个功能以及你希望它显示的位置,这样我就可以根据这个改变我的答案。 –

+0

谢谢,我添加了详细信息,以及带有完整示例的Meteorpad。 – Bren