in connectors/sources/mongo.py [0:0]
def serialize(self, doc):
def _serialize(value):
if isinstance(value, ObjectId):
value = str(value)
elif isinstance(value, (list, tuple)):
value = [_serialize(item) for item in value]
elif isinstance(value, dict):
for key, svalue in value.items():
value[key] = _serialize(svalue)
elif isinstance(value, datetime):
value = value.isoformat()
elif isinstance(value, Decimal128):
value = value.to_decimal()
elif isinstance(value, DBRef):
value = _serialize(value.as_doc().to_dict())
return value
for key, value in doc.items():
doc[key] = _serialize(value)
return doc