使用php进行MongoDb Date查询无效

时间:2017-01-02 10:43:05

标签: php mongodb mongodb-query

我正试图从mongodb获取今天的数据。

以下是一份示例文件:

{
   "_id": ObjectId("586a284a1f815b55608b456b"),
   "timestamp": "02/01/2017 03:45:36",
   "data": "29",
   "lat": "not available",
   "time": ISODate("2017-01-02T10:15:38.57Z") 
}

这是PHP代码:

$query = array('time'=>array ('$gte'=>new mongoDate()));
$str = $collection->find($query);
foreach($str as $doc)
print_r($doc);

我做错了什么?我得到空的输出。

2 个答案:

答案 0 :(得分:2)

您正在使用greater than,并且您将来没有数据集,因此无法找到任何数据集。

我认为您正在寻找$lte lesser than,它会为您提供过去的数据集。

答案 1 :(得分:2)

您在数据中有过去的日期,并且您正在查询大于或等于当前日期的日期,即现在或将来,这将是空的。 您可能需要$lte(小于或等于)来查询:

$query = array('time'=>array ('$lte'=>new mongoDate()));