Adds a group stage at aggregation query
        :param id: The group id. Default value is None and group merge all documents
        :param kwargs: The parameters-methods of group stage
        :return: The current object

def group(self, id=None, **kwargs):
        """
        Adds a group stage at aggregation query
        :param id: The group id. Default value is None and group merge all documents
        :param kwargs: The parameters-methods of group stage
        :return: The current object
        """
        if type(id) == str:
            if not id.startswith('$'):
                id = '$' + id
        query = {
            '_id': id
        }
        for key in kwargs:
            query[key] = kwargs[key]
        self._q.append({
            '$group': query
        })
        return self