MCPcopy Create free account
hub / github.com/mongodb/mongo-python-driver / _update_retryable

Method _update_retryable

pymongo/synchronous/collection.py:1073–1122  ·  view source on GitHub ↗

Internal update / replace helper.

(
        self,
        criteria: Mapping[str, Any],
        document: Union[Mapping[str, Any], _Pipeline],
        operation: str,
        upsert: bool = False,
        multi: bool = False,
        write_concern: Optional[WriteConcern] = None,
        op_id: Optional[int] = None,
        ordered: bool = True,
        bypass_doc_val: Optional[bool] = None,
        collation: Optional[_CollationIn] = None,
        array_filters: Optional[Sequence[Mapping[str, Any]]] = None,
        hint: Optional[_IndexKeyHint] = None,
        session: Optional[ClientSession] = None,
        let: Optional[Mapping[str, Any]] = None,
        sort: Optional[Mapping[str, Any]] = None,
        comment: Optional[Any] = None,
    )

Source from the content-addressed store, hash-verified

1071 return result
1072
1073 def _update_retryable(
1074 self,
1075 criteria: Mapping[str, Any],
1076 document: Union[Mapping[str, Any], _Pipeline],
1077 operation: str,
1078 upsert: bool = False,
1079 multi: bool = False,
1080 write_concern: Optional[WriteConcern] = None,
1081 op_id: Optional[int] = None,
1082 ordered: bool = True,
1083 bypass_doc_val: Optional[bool] = None,
1084 collation: Optional[_CollationIn] = None,
1085 array_filters: Optional[Sequence[Mapping[str, Any]]] = None,
1086 hint: Optional[_IndexKeyHint] = None,
1087 session: Optional[ClientSession] = None,
1088 let: Optional[Mapping[str, Any]] = None,
1089 sort: Optional[Mapping[str, Any]] = None,
1090 comment: Optional[Any] = None,
1091 ) -> Optional[Mapping[str, Any]]:
1092 """Internal update / replace helper."""
1093
1094 def _update(
1095 session: Optional[ClientSession], conn: Connection, retryable_write: bool
1096 ) -> Optional[Mapping[str, Any]]:
1097 return self._update(
1098 conn,
1099 criteria,
1100 document,
1101 upsert=upsert,
1102 multi=multi,
1103 write_concern=write_concern,
1104 op_id=op_id,
1105 ordered=ordered,
1106 bypass_doc_val=bypass_doc_val,
1107 collation=collation,
1108 array_filters=array_filters,
1109 hint=hint,
1110 session=session,
1111 retryable_write=retryable_write,
1112 let=let,
1113 sort=sort,
1114 comment=comment,
1115 )
1116
1117 return self._database.client._retryable_write(
1118 (write_concern or self.write_concern).acknowledged and not multi,
1119 _update,
1120 session,
1121 operation,
1122 )
1123
1124 def replace_one(
1125 self,

Callers 3

replace_oneMethod · 0.95
update_oneMethod · 0.95
update_manyMethod · 0.95

Calls 1

_retryable_writeMethod · 0.45

Tested by

no test coverage detected