MongoDB::BulkWriteView - Bulk write operations against a query document
version v2.2.2
my $bulk = $collection->initialize_ordered_bulk_op;
# Update one document matching the selector
bulk->find( { a => 1 } )->update_one( { '$inc' => { x => 1 } } );
# Update all documents matching the selector
bulk->find( { a => 2 } )->update_many( { '$inc' => { x => 2 } } );
# Update all documents matching the selector, with respect to a collation
bulk->find( { a => { '$gte' => 'F' } )->collation($collation)
->update_many( { '$inc' => { x => 2 } } );
# Update all documents
bulk->find( {} )->update_many( { '$inc' => { x => 2 } } );
# Replace entire document (update with whole doc replace)
bulk->find( { a => 3 } )->replace_one( { x => 3 } );
# Update one document matching the selector or upsert
bulk->find( { a => 1 } )->upsert()->update_one( { '$inc' => { x => 1 } } );
# Update all documents matching the selector or upsert
bulk->find( { a => 2 } )->upsert()->update_many( { '$inc' => { x => 2 } } );
# Replaces a single document matching the selector or upsert
bulk->find( { a => 3 } )->upsert()->replace_one( { x => 3 } );
# Remove a single document matching the selector
bulk->find( { a => 4 } )->delete_one();
# Remove all documents matching the selector
bulk->find( { a => 5 } )->delete_many();
# Update any arrays with the matching filter
bulk->find( {} )->arrayFilters([ { 'i.b' => 1 } ])->update_many( { '$set' => { 'y.$[i].b' => 2 } } );
# Remove all documents matching the selector, with respect to a collation
bulk->find( { a => { '$gte' => 'F' } )->collation($collation)->delete_many();
# Remove all documents
bulk->find( {} )->delete_many();
This class provides means to specify write operations constrained by a query
document.
To instantiate a MongoDB::BulkWriteView, use the find
method from the MongoDB::BulkWrite manpage.
Except for arrayFilters, collation and upsert, all methods have an
empty return on success; an exception will be thrown on error.
$bulk->arrayFilters( $array_filters )->update_many( $modification );
Returns a new MongoDB::BulkWriteView object, where the specified arrayFilter
will be used to determine which array elements to modify for an update
operation on an array field.
$bulk->collation( $collation )->delete_one;
Returns a new MongoDB::BulkWriteView object, where the specified
collation will be used to determine which documents match the query
document. A collation can be specified for any deletion, replacement,
or update.
$bulk->delete_many;
Removes all documents matching the query document.
$bulk->delete_one;
Removes a single document matching the query document.
$bulk->replace_one( $doc );
Replaces the document matching the query document. The document
to replace must not have any keys that begin with a dollar sign, $.
$bulk->update_many( $modification );
Updates all documents matching the query document. The modification
document must have all its keys begin with a dollar sign, $.
$bulk->update_one( $modification );
Updates a single document matching the query document. The modification
document must have all its keys begin with a dollar sign, $.
$bulk->upsert->replace_one( $doc );
Returns a new MongoDB::BulkWriteView object that will treat every
update, update_one or replace_one operation as an upsert operation.
This software is Copyright (c) 2020 by MongoDB, Inc.
This is free software, licensed under:
The Apache License, Version 2.0, January 2004
|