MongoDb索引/在列表列表中查找

时间:2011-09-01 13:03:28

标签: mongodb indexing

我正在使用C#mongodb驱动程序将Dictionary序列化为嵌入式文档。嵌入式文档类似于:

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

是否可以在列表的“密钥”(即1234,4567等)上创建索引?我已经在Lookup上创建了一个索引,但我不确定它是什么创建了一个索引。

我猜测它是整个文档的索引,因为查询:

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

与任何内容都不匹配。

谢谢,

1 个答案:

答案 0 :(得分:1)

您应该将结构更改为如下所示:

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

然后你可以索引{"Lookup.key": 1},它会做你想要的。