Details
-
Bug
-
Resolution: Works as Designed
-
Major - P3
-
None
-
None
-
None
-
None
-
ALL
Description
table like this:

insert command:
db.getCollection("teachers").insert(
);
db.getCollection("teachers").insert(
);
*In mongodb 4.2*
using index:
db.teachers.createIndex(
,
{ name: "IX_first_student", });
query:
db.teachers.find({"students.0": 1}).explain();
result:
{
plannerVersion: NumberInt("1"),
namespace: "myscrm_kktyadmin.teachers",
indexFilterSet: false,
parsedQuery: {
"students.0":
},
queryHash: "6ECDFB50",
planCacheKey: "88E51EB0",
winningPlan: {
stage: "FETCH",
inputStage: {
stage: "IXSCAN",
keyPattern:
,
indexName: "IX_first_student",
isMultiKey: true,
multiKeyPaths:
,
isUnique: false,
isSparse: false,
isPartial: false,
indexVersion: NumberInt("2"),
direction: "forward",
indexBounds:
}
},
rejectedPlans: [ ]
}
*mongodb3.4*
using index:
db.teachers.createIndex(
,
{ name: "IX_first_student", });
query:
db.teachers.find({"students.0": 1}).explain();
result:
{
plannerVersion: NumberInt("1"),
namespace: "myscrm_kktyadmin.teachers",
indexFilterSet: false,
parsedQuery: {
"students.0":
},
winningPlan: {
stage: "FETCH",
inputStage: {
stage: "IXSCAN",
keyPattern:
,
indexName: "IX_first_student",
isMultiKey: false,
multiKeyPaths:
,
isUnique: false,
isSparse: false,
isPartial: false,
indexVersion: NumberInt("2"),
direction: "forward",
indexBounds:
}
},
rejectedPlans: [ ]
}
question is why in mongodb 4.2 isMultiKey is true?
in mongodb 4.2, this behavior make some query can't hint index, plz help.