如何使用php查询mongodb日期

时间:2013-10-06 09:14:30

标签: php mongodb

我需要将此查询从php转换为mongoDB查询

$query = "select * from table where data_added like '%data%';

我将日期存储在变量

$date = "2013-09-02";

并在我的mongo文档中将日期排序为:

$dateAdded = new MongoDate(strtotime('2013-09-02 12:21:55'));

我试过

$date = new MongoDate(strtotime("$date"));

$mongo->find(array('date_added'=>array('$lt'=>$date)));

and 
$mongo->find(array('date_added'=>$date));

但没有成功。

所以我需要查询(Y-m-d)而非(Y-m-d h:i:s) 那么如何在mongo中使用LIKE查询数据

由于

1 个答案:

答案 0 :(得分:3)

您需要进行范围查询。创建一个时间戳,例如使用strtotime(),以获取当天开始时的unix时间戳,以及另一个时间戳和当天结束时的时间戳。

根据您是希望这两个目标是包含还是排他,您可以使用

// Both points/seconds inclusive
->find(array("date" => array('$gte' => $startOfDay, '$lte' => $endOfDay)));
// Both seconds exclusive
->find(array("date" => array('$gt' => $startOfDay, '$lt' => $endOfDay)));

请参阅http://cookbook.mongodb.org/patterns/date_range/