-
Type:
Bug
-
Resolution: Done
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
ALL
-
None
-
None
-
None
-
None
-
None
-
None
-
None
Using MongoDB 7.0.11, I have the following index in my app:
index tm: 1, x: 1, y: 1
When I run the following, Mongo does a full collection scan:
delete_many(tm: { $size: 0 })
However when I run the following equivalent code, Mongo uses the index correctly:
delete_many(tm: [])
Perhaps the $size: 0 case can be optimized?
Here is the query dump of the slow query from Atlas:
{
"type": "remove",
"ns": "xxx.yyy",
"appName": "zzz",
"command": {
"q": {
"tm": {
"$size": 0
}
},
"limit": 0
},
"planSummary": "COLLSCAN",
"keysExamined": 0,
"docsExamined": 205908,
"ndeleted": 0,
"numYields": 265,
"locks": {
"ParallelBatchWriterMode": {
"acquireCount": {
"r": 266
}
},
"FeatureCompatibilityVersion": {
"acquireCount": {
"w": 266
}
},
"ReplicationStateTransition": {
"acquireCount": {
"w": 266
}
},
"Global": {
"acquireCount": {
"w": 266
}
},
"Database": {
"acquireCount": {
"w": 266
}
},
"Collection": {
"acquireCount": {
"w": 266
}
}
},
"flowControl": {
"acquireCount": 266
},
"readConcern": {
"level": "local",
"provenance": "implicitDefault"
},
"storage": {},
"cpuNanos": 395985914,
"remote": "10.20.24.203:1501",
"durationMillis": 7384,
"v": "7.0.11",
"isTruncated": false
}