在Perl

时间:2015-05-07 17:44:01

标签: perl mongodb isodate

我正在使用MongoDB并且我没有轻松的时间尝试将少于添加到我的工作$gte查询中。当我从中移除$lt行时,以下查询有效。

我想在两个动态日期之间获取记录 - 分钟。这适用于$gte,但引入$lt却没有任何效果。

我验证了日期的变量是否正确。我是不是太复杂了?

Perl代码:

my $cursor = $collection->find({
    create_date => {
        '$gte' => DateTime->new(
            year   => $dtpast_year,
            month  => $dtpast_month,
            day    => $dtpast_day,
            hour   => $dtpast_hour,
            minute => $dtpast_minute
        ),
        '$lt' => DateTime->new(
            year => $dtpresent_year,
            month  => $dtpresent_month,
            day    => $dtpresent_day,
            hour   => $dtpresent_hour,
            minute => $dtpresent_minute
        )
    }
});

我用同样的问题清理了一下。我会

my $present = DateTime->new(
    year   => $dtpresent_year,
    month  => $dtpresent_month,
    day    => $dtpresent_day,
    hour   => $dtpresent_hour,
    minute => $dtpresent_minute
);
my $past = DateTime->new(
    year   => $dtpast_year,
    month  => $dtpast_month,
    day    => $dtpast_day,
    hour   => $dtpast_hour,
    minute => $dtpast_minute
);

my $cursor = $collection->find({create_date => {'$gte' => $past}});

0 个答案:

没有答案