Spaces:
Sleeping
Sleeping
def flatten(d, parent_key="", sep="."): | |
""" | |
Convert nested dicts into MongoDB dot-notation dict. | |
Arrays/lists are kept as-is (not broken into dotted paths). | |
""" | |
items = [] | |
for k, v in d.items(): | |
new_key = f"{parent_key}{sep}{k}" if parent_key else k | |
if isinstance(v, dict) and v is not None: | |
items.extend(flatten(v, new_key, sep=sep).items()) | |
else: | |
items.append((new_key, v)) | |
return dict(items) | |