def save(self, doc):
        if doc.id:
            return self.update(doc)
        else:
            return self.insert(doc)
def __init__(self, root_path: str, defaults: t.Optional[dict] = None) -> None:
        dict.__init__(self, defaults or {})
        self.root_path = root_path