2015-12-05 216 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