2017-01-02 18 views
0

今日のデータをmongodbから取得しようとしています。ここでMongoDb phpで動作する日付クエリ

はサンプル文書です:

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