2016-02-29 72 views
0

我需要JavaScript中的方法/策略來訪問JSON數組中的文檔。我需要一些類似於MongoDB Shell中的$ elemMatch的東西。如何通過使用嵌入文檔的值有效地從JSON文檔數組中訪問JSON文檔?

的數據是按以下格式:

[ 
    { 
     a : '1', 
     b : '2', 
     c : '3' 
    }, 
    { 
     a : '4', 
     b : '5', 
     c : '6' 
    }, 
    {...}, 
    {...} 
] 

因此,所有的文件具有相同的鑰匙,我需要進入「c」的值時,我有「A」值。

有沒有辦法在JavaScript中有效地做到這一點,即不必遍歷整個數組?這將構成更大的查詢功能的一部分,並且性能非常重要。

+0

什麼意思是「*在'a'值*」時訪問'c'值? –

+0

我有'a'的價值(從前面的步驟),我需要找到'c'的相應值。例如,如果我有= 4,我需要查詢數組,以返回c = 6給我。 – cameronliam

回答

0

您可以對嵌套數據使用find命令。查詢this link的JavaScript語法以及this link中的接受答案,瞭解您正在嘗試做什麼的一般想法。

編輯:對於javascript,您可以嘗試使用match命令和聚合管道框架(more info here)。

+0

我的歉意,我現在看到我的問題不是很清楚。我正在尋找一種在JavaScript中不使用MongoDB的方法。我現在將編輯該問題。 – cameronliam

+0

我編輯了我的答案 – randombee

+0

這不完全是我在找的東西,或者我誤解了你。我已經查詢過數據庫,並且收到了一個非常大的多層文檔。現在,嵌入到文檔中,我擁有這個數組,並且需要根據文檔中的另一個字段從中檢索特定的字段。所以,在這個階段,文檔已經在JavaScript函數的內存中。 – cameronliam