def METHOD_NAME(self, number_splits: int) -> Iterator[Dict]:  # pragma: no cover
    """
    Prechunk method to perform chunking by the key field
    """
    q = dict(self.query)
    keys = self.dielectric.newer_in(self.materials, criteria=q, exhaustive=True)
    N = ceil(len(keys) / number_splits)
    for split in grouper(keys, N):
        yield {"query": {self.materials.key: {"$in": list(split)}}}