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.

property changed

True if this statement has changes.

Type

bool

property deallocate_prepare_execute

True to deallocate + prepare + execute statement.

Type

bool

property 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

property prepared

True if this statement has been prepared.

Type

bool

property 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.

property 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

property stmt_id

Returns this statement ID.

Returns

The statement ID.

Return type

int

property 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.