Mongodb lte不使用时间戳

Mongodb lte不使用时间戳,mongodb,symfony,doctrine-orm,Mongodb,Symfony,Doctrine Orm,我正在尝试统计收集中日期范围内的文档。我的问题是: $qb ->field('timestamp')->lte($dateRange['to']) ->field('timestamp')->gte($dateRange['from']) ->count() ->getQuery() ->execute(); $dateRange的元素是DateTime具有有效(我已经测试

我正在尝试统计收集中日期范围内的文档。我的问题是:

$qb
        ->field('timestamp')->lte($dateRange['to'])
        ->field('timestamp')->gte($dateRange['from'])
        ->count()
        ->getQuery()
        ->execute();
$dateRange的元素是
DateTime
具有有效(我已经测试过)日期的对象。Mongo collection有我正在查询的文档。实验暴露出问题出在lte方法中——当我只使用gte时,一切都很好。还测试了
range()
方法-它也不起作用。有什么想法吗

由条令生成的查询如下所示:

{"count":true,"query":{"timestamp":{"$lte":{"sec":1413380708,"usec":0},"$gte":{"sec":1413380108,"usec":0}}},"limit":0,"skip":0,"db":"test","collection":"activity_log"}

如果其他人有这样的问题,我会发布一个对我有用的答案。问题是,我在数据库中有类型为
timestamp
的字段
timestamp
,但将
\DateTime
对象传递给方法。因此,内部学说似乎是错误的。以下是我所做的:

$qb
        ->field('timestamp')->range(
            new \MongoTimestamp($from->getTimestamp()),
            new \MongoTimestamp($to->getTimestamp()))