code: def match(self, q):
  		
  		
  		if self._combining:  # We are a field-compound query fragment, e.g. (Foo.bar & Foo.baz).
  			return reduce(self._combining, (qp.match(q) for qp in self._field))
  		
  		# Optimize this away in production; diagnosic aide.
  		if __debug__ and _complex_safety_check(self._field, {'$elemMatch', '#document'}):  # pragma: no cover
  			raise NotImplementedError("{self!r} does not allow $elemMatch comparison.".format(self=self))
  		
  		if hasattr(q, 'as_query'):
  			q = q.as_query
  		
  		return Filter({self._name: {'$elemMatch': q}})
docs: Selects documents if element in the array field matches all the specified conditions.
  		
  			Document.field.match(...)
  		
  		Array operator: {$elemMatch: value}
  		Documentation: https://docs.mongodb.org/manual/reference/operator/query/elemMatch/#op._S_elemMatch