-
Type: Improvement
-
Resolution: Unresolved
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
Query Integration
We currently do not create a wholeBucketFilter for conjunction match predicates like this for time-series:
{$expr: {$and: [ {$gt: ['$time', <start time>]}, {$lt: ['$time', <end time>]}]}}
We don't do this because for $expr predicates we call createPredicate and not createPredicatesOnBucketLevelField here. However, we can call createPredicatesOnBucketLevelField to recur down the match expression. However, we need to confirm that the predicate is just on the timeField. If createPredicatesOnBucketLevelField is called on this predicate:
{$expr: {$or: [ {$gt: ['$time', <start time>]}, {$eq: ['$meta', 3]}]}}
a document with the metaField [\{b: 2}, \{b:3}] was returned, which is incorrect.