docs: def unwind(self, path, include_array_index=None, preserve_null_and_empty_arrays=False):
          """
          Adds an unwind stage to deconstruct an array
          :param path: Field path to an array field
          :param include_array_index: The name of a new field to hold the array index of the element.
          :param preserve_null_and_empty_arrays:
              If true, if the path is null, missing, or an empty array, $unwind outputs the document.
              If false, $unwind does not output a document if the path is null, missing, or an empty array.
          :return: The current object
          """
          unwind_query = {}
          unwind_query['$unwind'] = path if path[0] == '$' else '$' + path
  
          if include_array_index:
              unwind_query['includeArrayIndex'] = include_array_index
          if preserve_null_and_empty_arrays:
              unwind_query['preserveNullAndEmptyArrays'] = True
          self._q.append(unwind_query)
          return self