2014-11-09 143 views
0

我是MongoDB(和stackoverflow)的新手 - 我一直在嘗試使用Mongo + Node.js構建實時分析。MongoDB:僅查詢特定子文檔

我已經在http://docs.mongodb.org/ecosystem/use-cases/pre-aggregated-reports/之後創建了一個文檔結構,但現在我無法僅僅使用給定的DateTime查詢「第二個」值 - 我認爲整個文檔被返回,因爲只有一個父對象。我的結構看起來像這樣,在集合中只有一個文件:

「小時」 - >「分」 - >「第二」:價值

doc:{ 
    "0": { 
     "0": { 
      "0": 0, 
      "1": 0, 
      "2": 0, 
      "3": 0... 
      } 
     }  
} 

我一直在尋找到總$收放$(投影),我創建了一個像「12.22.59」(「hh.mm.ss」)的字符串,但我不知道從哪裏開始。

我很感激任何幫助!

感謝, 凱文

+0

根據我的猜測,您只需要將第二個值返回正確的位置,您可以使用投影使用查詢來實現此目的 – Ninad 2014-11-09 12:23:32

回答

0

查詢MongoDB中總是與整個文檔具有匹配字段,這些字段是否陣列,嵌入子文檔,等你總是查詢整個文檔,但您可以使用project僅返回匹配文檔的一部分。若要從嵌套結構只返回第二個值(我理解這是什麼意思),你會做

db.collection.find({ // your query }, { "_id" : 0, "0.0.1" : 1 }) 

我不是100%肯定這是你在找什麼。如果沒有,你可以編輯這個問題,以確定你想要返回的東西,並讓我知道這是不正確的評論?

+0

是的,這就是我一直在尋找的東西。但是,我決定採用更易讀的模式,這使我更容易查詢。謝謝! – 2014-11-10 17:31:11