--- lib/PXElator/store.pm 2010/01/25 17:55:55 492 +++ 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' ); @@ -61,8 +62,12 @@ sub query { - my $callback = shift; - my $cursor = $audit->query->sort({ '$natural' => -1 })->limit( 100 ); + 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 ); }