mongodb中的复合索引语法

时间:2016-08-15 22:37:03

标签: mongodb mongodb-indexes compound-index

关于如何定义复合索引的快速问题

根据定义,我可以创建一个复合索引,如下所示,它将为student_idclass_id创建一个复合索引。

db.students.createIndex({"student_id":1,"class_id":1});
然而,如果我给出类似的东西会发生什么

db.students.createIndex({"student_id,class_id":1})

语法有效,它接受索引,但我不确定如何创建索引。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

如果你这样做然后只运行db.students.getIndexes(),你会发现为一个名为student_id,class_id的字段创建了索引 - 这正是你要求的,即不是复合索引而是在其名称中带逗号的字段上的索引。

{
    "v" : 1,
    "key" : {
        "student_id,class_id" : 1.0
    },
    "name" : "student_id,class_id_1",
    "ns" : "tmp.students"
}