2011-09-01 53 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