2015-08-23 78 views
0

我在我的mongodb數據庫中使用以下結構創建了一些文檔,我想知道如何爲document.data.0.data[0-9999].val1創建索引?爲數組中的所有項目創建MongoDB索引

我的問題是我在哪裏鍵入[0-9999]我不知道這個數據數組中有多少元素,但我希望這個數組中的所有元素都有一個val1鍵上的索引。

任何提示?

{ 
    "_id" : ObjectId("55c455c2fc07853b78c4b6b9"),  
    "data": { 
    "0": { 
     "data": [ 
     { 
     val1: "abc", 
     val2: "def" 
     }, 
     { 
     val1: "abc", 
     val2: "def" 
     } 
     ] 
    } 
    } 
} 

回答

1

你不包含在索引數組索引值,所以這純粹是:

db.mycoll.ensureIndex({'data.0.data.val1': 1}) 

這被稱爲MongoDB中一個multikey指數。

+0

我會盡力的。它會知道它必須爲所有元素創建索引? –

+0

正確,請參閱_multikey_索引文檔的鏈接。 – JohnnyHK

+0

感謝JohnnyHK的工作。 –