mysqlx.ModifyStatement

class mysqlx.ModifyStatement(collection, condition)

Bases: mysqlx.statement.FilterableStatement

A statement for document update operations on a Collection.

Parameters:
  • collection (mysqlx.Collection) – The Collection object.
  • condition (str) – Sets the search condition to identify the documents to be modified.

Changed in version 8.0.12: The condition parameter is now mandatory.

array_append(doc_path, value)

Inserts a value into a specific position in an array attribute in documents of a collection.

Parameters:
  • doc_path (string) – A document path that identifies the array attribute and position where the value will be inserted.
  • value (object) – The value to be inserted.
Returns:

ModifyStatement object.

Return type:

mysqlx.ModifyStatement

array_insert(field, value)

Insert a value into the specified array in documents of a collection.

Parameters:
  • field (string) – A document path that identifies the array attribute and position where the value will be inserted.
  • value (object) – The value to be inserted.
Returns:

ModifyStatement object.

Return type:

mysqlx.ModifyStatement

bind(*args)

Binds value(s) to a specific placeholder(s).

Parameters:*args – The name of the placeholder and the value to bind. A mysqlx.DbDoc object or a JSON string representation can be used.
Returns:FilterableStatement object.
Return type:mysqlx.FilterableStatement
Raises:ProgrammingError – If the number of arguments is invalid.
change(doc_path, value)

Add an update to the statement setting the field, if it exists at the document path, to the given value.

Parameters:
  • doc_path (string) – The document path of the item to be set.
  • value (object) – The value to be set on the specified attribute.
Returns:

ModifyStatement object.

Return type:

mysqlx.ModifyStatement

Deprecated since version 8.0.12.

changed

True if this statement has changes.

Type:bool
deallocate_prepare_execute

True to deallocate + prepare + execute statement.

Type:bool
exec_counter

The number of times this statement was executed.

Type:int
execute()

Execute the statement.

Returns:Result object.
Return type:mysqlx.Result
Raises:ProgrammingError – If condition was not set.
get_binding_map()

Returns the binding map dictionary.

Returns:The binding map dictionary.
Return type:dict
get_bindings()

Returns the bindings list.

Returns:The bindings list.
Return type:list
get_grouping()

Returns the grouping expression list.

Returns:The grouping expression list.
Return type:list
get_having()

Returns the having expression.

Returns:The having expression.
Return type:object
get_limit_offset()

Returns the limit offset.

Returns:The limit offset.
Return type:int
get_limit_row_count()

Returns the limit row count.

Returns:The limit row count.
Return type:int
get_projection_expr()

Returns the projection expression.

Returns:The projection expression.
Return type:object
get_sort_expr()

Returns the sort expression.

Returns:The sort expression.
Return type:object
get_update_ops()

Returns the list of update operations.

Returns:The list of update operations.
Return type:list
get_where_expr()

Returns the where expression.

Returns:The where expression.
Return type:object
increment_exec_counter()

Increments the number of times this statement has been executed.

is_doc_based()

Check if it is document based.

Returns:True if it is document based.
Return type:bool
limit(row_count, offset=None)

Sets the maximum number of items to be returned.

Parameters:row_count (int) – The maximum number of items.
Returns:FilterableStatement object.
Return type:mysqlx.FilterableStatement
Raises:ValueError – If row_count is not a positive integer.

Changed in version 8.0.12: The usage of offset was deprecated.

offset(offset)

Sets the number of items to skip.

Parameters:offset (int) – The number of items to skip.
Returns:FilterableStatement object.
Return type:mysqlx.FilterableStatement
Raises:ValueError – If offset is not a positive integer.

New in version 8.0.12.

patch(doc)

Takes a mysqlx.DbDoc, string JSON format or a dict with the changes and applies it on all matching documents.

Parameters:doc (object) – A generic document (DbDoc), string in JSON format or dict, with the changes to apply to the matching documents.
Returns:ModifyStatement object.
Return type:mysqlx.ModifyStatement
prepared

True if this statement has been prepared.

Type:bool
repeated

True if this statement was executed more than once.

Type:bool
reset_exec_counter()

Resets the number of times this statement has been executed.

schema

The Schema object.

Type:mysqlx.Schema
set(doc_path, value)

Sets or updates attributes on documents in a collection.

Parameters:
  • doc_path (string) – The document path of the item to be set.
  • value (string) – The value to be set on the specified attribute.
Returns:

ModifyStatement object.

Return type:

mysqlx.ModifyStatement

sort(*clauses)

Sets the sorting criteria.

Parameters:*clauses – The expression strings defining the sort criteria.
Returns:ModifyStatement object.
Return type:mysqlx.ModifyStatement
stmt_id

Returns this statement ID.

Returns:The statement ID.
Return type:int
target

The database object target.

Type:object
unset(*doc_paths)

Removes attributes from documents in a collection.

Parameters:doc_paths (list) – The list of document paths of the attributes to be removed.
Returns:ModifyStatement object.
Return type:mysqlx.ModifyStatement
where(condition)

Sets the search condition to filter.

Parameters:condition (str) – Sets the search condition to filter documents or records.
Returns:FilterableStatement object.
Return type:mysqlx.FilterableStatement

Deprecated since version 8.0.12.