mongodb 中的复合索引语法
compound index syntax in mongodb
关于如何定义复合索引的快速问题
根据定义,我可以创建一个复合索引,如下所示,它会为 student_id
和 class_id
.
创建一个复合索引
db.students.createIndex({"student_id":1,"class_id":1});
但是如果我给出这样的东西会发生什么
db.students.createIndex({"student_id,class_id":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"
}
关于如何定义复合索引的快速问题
根据定义,我可以创建一个复合索引,如下所示,它会为 student_id
和 class_id
.
db.students.createIndex({"student_id":1,"class_id":1});
但是如果我给出这样的东西会发生什么
db.students.createIndex({"student_id,class_id":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"
}