2011-09-01 84 views
2

我正在使用C#mongodb驅動程序將字典序列化爲嵌入式文檔。嵌入式文件看起來像:MongoDb索引/在列表中查找

"Lookup" : [[1234, { 
    "Name" : "bob", 
    "Age" : 25, 
    }], [4567, { 
    "Name" : "fred", 
    "Age" : 31, 
    }]] 

是否有可能只是在「鑰匙」創建索引(即1234,4567等)的名單?我在Lookup上創建了一個索引,但我不確定索引是在哪個索引上創建的。

我猜它的索引整個文檔,因爲查詢:

find ({"Lookup" : { "$in" : [1234] } }) 

不匹配任何東西。

感謝,

回答

1

你應該改變你的結構看起來像這樣:

"Lookup" : [ 
    {key:1234, value:{ 
     "Name" : "bob", 
     "Age" : 25, 
    }}, 
    {key: 4567, value: { 
     "Name" : "fred", 
     "Age" : 31, 
    }} 
] 

然後,你可以索引{"Lookup.key": 1},它會做你想要什麼。

+0

謝謝,就是我想要的。 – Paul