in modular_sdk/models/pynamodb_extension/pynamodb_to_pymongo_adapter.py [0:0]
def update(self, model_instance, actions: List[Action],
condition: Optional[Condition] = None,
settings: OperationSettings = OperationSettings.default):
collection = self._collection_from_model(model_instance)
_update = {}
for dct in [UpdateExpressionConverter.convert(a) for a in actions]:
for action, query in dct.items():
_update.setdefault(action, {}).update(query)
res = collection.find_one_and_update(
filter=model_instance.get_keys(),
update=_update,
upsert=True,
return_document=ReturnDocument.AFTER
)
if res:
type(model_instance).from_json(res, instance=model_instance)