def update()

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)