Bulk queries

class yadm.bulk.Bulk(db, document_class, ordered, raise_on_errors, collection_params)

Bulk object.

Parameters:
  • db (Database) – Database instance
  • document_class (MetaDocument) – document class for collection
  • ordered (bool) – create ordered bulk (default False)
  • raise_on_errors (bool) – raise BulkWriteError exception if write errors (default True)

Context manager example:

with db.bulk(Doc, ordered=True) as bulk:
bulk.insert(doc_1) bulk.insert(doc_2) bulk.update_one(doc_3, inc={‘incr_key’: 1}) bulk.find({‘key’: ‘value’}).update(set={‘key’: ‘new_value’}) bulk.find({‘key’: ‘new_value’}).remove()
error

True for executed errors.

execute()

Execute the bulk query.

Returns:BulkResult instance
find(query)

Start “find” query in bulk.

Parameters:query (dict) –
Returns:BulkQuery instance
insert(document)

Add insert document to bulk.

Parameters:document (Document) – document for insert

Warning

This unlike Database.insert! Currently, it is not bind objects to database and set id.

result

A BulkResult instance or rise RuntimeError if not executed.

update_one(document, *, set=None, unset=None, inc=None, push=None, pull=None)

Add update one document to bulk.

class yadm.bulk.BulkResult(bulk, raw)

Object who provide result of Bulk.execute().

n_inserted

Provide nInserted from raw result.

n_modified

Provide nModified from raw result.

n_removed

Provide nRemoved from raw result.

n_upserted

Provide nUpserted from raw result.

write_errors

Provide writeErrors from raw result.