mongodb在子级问题上的索引

时间:2012-04-04 10:40:29

标签: mongodb

我在mongodb中有一个文档结构,如下所示

{
  "_id": "some_id",
    "key1": "value1",
    "key2": "value2",
    "key3": [
             {"subkey1":"subval1", "subkey2":"subval2",   "subkey3":"subval3"},
             {"subkey1":"subval11", "subkey2":"subval21", "subkey3":"subval31"},
             {"subkey1":"subval12", "subkey2": "subval22", "subkey3":"subval32"}
            ],
    "key4": "value4"
}

我希望将索引放在“subkey1”上。怎么办???

还是不可能(在这种情况下,使用“key3”上的索引可以更有效地工作)???

1 个答案:

答案 0 :(得分:1)

只需使用ensureIndex为您想要的密钥添加索引

db.foos.ensureIndex({"key3.subkey1": 1})

the docs所示:

  

当文档的索引键字段的存储值是一个数组时,MongoDB索引数组的每个元素

单独为key3添加索引,如果使用“key3.subkey1”进行查询,则不会使用。