2013-02-28 61 views
1

的內部列表假設以下數據結構在MongoDB中:的MongoDB - 索引對象

{ 
    "_id" : "Bob Blocker", 
    "ratings" : { 
     "771206753" : 1 
    }, 
    "prevalence" : 1 
} 

怎麼可能一個索引使用ensureIndex()ratings內部結構的鑰匙?我想創建一個索引,將文檔_id與評分對象中的任何和所有鍵(在本例中爲「771206753」)關聯起來。

ratings鍵入索引就足夠了嗎?那也不會記錄收視率對象的價值部分嗎?我應該如何移動我的模式,如果查找是由那個特定的鍵?

回答

2

你不能索引動態鍵和索引ratings會將整個對象索引爲一個blob,所以你也不想這樣做。

它可以更好地工作,以您的架構返工:

{ 
    "_id" : "Bob Blocker", 
    "ratings" : [ 
     {id: "771206753", value: 1} 
    ], 
    "prevalence" : 1 
} 

,然後指數'ratings.id'