2013-10-15 47 views
0

我知道你可以手動做到這一點,但這不是重點。我需要在我的mongoDB查詢中加入今天的日期並使其運行。把今天的日期放在數組中

手工以下工作正常。

$cursor = $collection->find(array("date"=> array('$gt' => '01/10/2013'))); 

但是當我使用下面的

$date = date('d/m/Y'); 
$cursor = $collection->find(array("date"=> array('$gt' => '$date'))); 

它不工作

我已經試過

$cursor = $collection->find(array("date"=> array('$gt' => $date))); 
$cursor = $collection->find(array("date"=> array('$gt' => "'".$date."'"))); 
$cursor = $collection->find(array("date"=> array('$gt' => \"$date\"))); 

沒有上述工作

+1

嘗試使用'MongoDate':http://php.net/manual/en/class.mongodate.php – WiredPrairie

回答

0

那並不是」你看起來不錯對我來說。我不認爲你的'01/10/2013'標準按照你的預期工作。

如何存儲「日期」字段?如果它存儲爲MongoDB日期字段,則必須構建一個MongoDate對象並在搜索中使用它。

<?php 
$insertDate = new MongoDate(strtotime("October 2nd 2013")); 
$collection->save(array("date" => $insertDate)); 

$date = new MongoDate(strtotime("October 1st 2013")); 

$collection->find(array("date" => array('$gt' => $date))); 

?> 

又見http://php.net/mongodate

+0

另外請注意,你不應該有大約PHP變量單引號,請參閱http://us2.php.net/language.types.string – bjori