Apache-Session-MongoDB

 view release on metacpan or  search on metacpan

lib/Apache/Session/MongoDB.pm  view on Meta::CPAN

        }
    }
    else {
        return 1;
    }
}

sub _query {
    my ( $class, $args, $filter, @fields ) = @_;
    my $col    = $class->_col($args);
    my $cursor = $col->find($filter);
    if (@fields) {
        $cursor =
          $cursor->fields( { map { $_ => 1 } @fields, "_session_id" => 1 } );
    }
    my %res;
    while ( my $r = $cursor->next ) {
        my $id = $r->{_session_id};
        delete $r->{_id};
        $res{$id} = $r;
    }
    return \%res;
}

sub get_key_from_all_sessions {
    my ( $class, $args, $data ) = @_;
    my $col    = $class->_col($args);
    my $cursor = $col->find( {} );
    my %res;
    while ( my $r = $cursor->next ) {
        my $id = $r->{_session_id};
        delete $r->{_id};
        if ( ref($data) eq 'CODE' ) {
            $res{$id} = $data->( $r, $id );
        }
        elsif ($data) {
            $data = [$data] unless ( ref $data );
            $res{$id}->{$_} = $r->{$_} foreach (@$data);
        }
        else {



( run in 0.243 second using v1.01-cache-2.11-cpan-4d50c553e7e )