def INDEX_OF_ARRAY(string_expression, substring_expression, start=None, end=None):
res = [string_expression, substring_expression]<EOL>if start is not None:<EOL><INDENT>res.append(start)<EOL><DEDENT>if end is not None:<EOL><INDENT>res.append(end)<EOL><DEDENT>return {'<STR_LIT>': res}<EOL>
Searches an array for an occurence of a specified value and returns the array index of the first occurence.
See https://docs.mongodb.com/manual/reference/operator/aggregation/zip/
for more details
:param string_expression: Any valid expression as long as it resolves to an array.
:param substring_expression: Can be any valid expression.
:param start: A number that can be represented as integers that specifies the starting index position for the search.
:param end: A number that can be represented as integers that specifies the ending index position for the search.
:return: Aggregation operator