我需要将此查询从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查询数据
由于
答案 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)));