2017-01-02 24 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()));