Mango
view release on metacpan - search on metacpan
view release on metacpan or search on metacpan
lib/Mango/Bulk.pm view on Meta::CPAN
sub insert {
my ($self, $doc) = @_;
$doc->{_id} //= bson_oid;
return $self->_op(insert => $doc);
}
sub remove { shift->_remove(0) }
sub remove_one { shift->_remove(1) }
sub update { shift->_update(\1, @_) }
sub update_one { shift->_update(\0, @_) }
sub upsert { shift->_set(upsert => 1) }
sub _group {
my ($self, $group) = @_;
my ($type, $offset) = splice @$group, 0, 2;
my $collection = $self->collection;
return $type, $offset, bson_doc $type => $collection->name,
$type eq 'insert' ? 'documents' : "${type}s" => $group,
lib/Mango/Collection.pm view on Meta::CPAN
return $self->update(@update => sub { shift->$cb(shift, $doc->{_id}) })
if $cb;
# Update blocking
$self->update(@update);
return $doc->{_id};
}
sub stats { $_[0]->_command(bson_doc(collstats => $_[0]->name), $_[1]) }
sub update {
my ($self, $query, $update) = (shift, shift, shift);
my $cb = ref $_[-1] eq 'CODE' ? pop : undef;
my $flags = shift // {};
$update = {
q => ref $query eq 'Mango::BSON::ObjectID' ? {_id => $query} : $query,
u => $update,
upsert => $flags->{upsert} ? \1 : \0,
multi => $flags->{multi} ? \1 : \0
};
view all matches for this distributionview release on metacpan - search on metacpan
( run in 1.139 second using v1.00-cache-2.02-grep-82fe00e-cpan-4673cadbf75 )