File size: 471 Bytes
99ba41d
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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)