2017-01-02 28 views
0

我想从MongoDB获取今天的数据。MongoDb使用php的日期查询does not not work

这里是一个示例文件:

{ 
    "_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); 

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

+0

'新mongoDate()'是当前时间,而该文件包含在过去一段时间,这是不是大于或等于到它。 –

+0

你说得对。我的错 –

回答

2

您使用的是greater than,您将来没有数据集,所以没有什么可以找到的。

我认为你正在寻找$ltelesser than,它会给你从过去的数据集。

2

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

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