==== VARIATION: $match not ====
-- INPUTS:
pipeline: [{$match: {a: {$not: {$exists: true}}}}]
metadata: 
	number of partitions: 1
	scan definitions: 
		collection: 
			options: 
			distribution and paths: 
				distribution type: Centralized
				distribution paths: 
			indexes: 
			collection exists: 1
			CE type: -1

-- OUTPUT:
Root [{scan_0}]
Filter []
|   EvalFilter []
|   |   Variable [scan_0]
|   PathConstant []
|   UnaryOp [Not]
|   EvalFilter []
|   |   Variable [scan_0]
|   PathGet [a]
|   PathDefault []
|   Const [false]
Scan [collection, {scan_0}]


==== VARIATION: $match not ====
-- INPUTS:
pipeline: [{$match: {a: {$not: {$eq: 5}}}}]
metadata: 
	number of partitions: 1
	scan definitions: 
		collection: 
			options: 
			distribution and paths: 
				distribution type: Centralized
				distribution paths: 
			indexes: 
			collection exists: 1
			CE type: -1

-- OUTPUT:
Root [{scan_0}]
Filter []
|   EvalFilter []
|   |   Variable [scan_0]
|   PathConstant []
|   UnaryOp [Not]
|   EvalFilter []
|   |   Variable [scan_0]
|   PathGet [a]
|   PathTraverse [1]
|   PathCompare [Eq]
|   Const [5]
Scan [collection, {scan_0}]


==== VARIATION: $match with $ne ====
-- INPUTS:
pipeline: [{$match: {'a': {$ne: 2}}}]
metadata: 
	number of partitions: 1
	scan definitions: 
		collection: 
			options: 
			distribution and paths: 
				distribution type: Centralized
				distribution paths: 
			indexes: 
			collection exists: 1
			CE type: -1

-- OUTPUT:
Root [{scan_0}]
Filter []
|   EvalFilter []
|   |   Variable [scan_0]
|   PathConstant []
|   UnaryOp [Not]
|   EvalFilter []
|   |   Variable [scan_0]
|   PathGet [a]
|   PathTraverse [1]
|   PathCompare [Eq]
|   Const [2]
Scan [collection, {scan_0}]


