--- lib/PXElator/store.pm 2010/01/23 19:46:19 485 +++ lib/PXElator/store.pm 2010/01/31 15:22:34 496 @@ -5,13 +5,14 @@ use POSIX; use Time::HiRes qw/time/; +use Data::Dump qw(dump); #use CouchDB; use MongoDB; my $conn = MongoDB::Connection->new; -my $db = $conn->get_database( 'pxelator' ); +our $db = $conn->get_database( 'pxelator' ); our $audit = $db->get_collection( 'audit' ); @@ -60,4 +61,16 @@ } +sub query { + my ( $from_t, $callback ) = @_; + my $q; + $q = { 'package.time' => { '$lt' => $from_t * 1 } } if $from_t; + warn "# query ", dump($q); + $audit->ensure_index({ 'package.name' => 1 }); + my $cursor = $audit->query($q)->sort({ 'package.time' => -1 })->limit( 100 ); + while( my $o = $cursor->next ) { + $callback->( $o ); + } +} + 1;