我在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”上的索引可以更有效地工作)???
答案 0 :(得分:1)
只需使用ensureIndex为您想要的密钥添加索引
db.foos.ensureIndex({"key3.subkey1": 1})
如the docs所示:
当文档的索引键字段的存储值是一个数组时,MongoDB索引数组的每个元素
单独为key3添加索引,如果使用“key3.subkey1”进行查询,则不会使用。