2012-06-25 55 views
0

我有用于存储事件开始和结束时间的条目。我试图用MongoDate查询来查找当前查询中发生的所有事件。MongoDB/PHP查询 - 如果当前时间/日期在计划中

同样的问题在这里得到解答,但不是MySQL的MongoDB的: PHP/MySQL query - if current time/date is in schedule

到目前为止,所有我能找到的是MongoDate反向查询类型:

$start = new MongoDate(strtotime("2010-01-15 00:00:00")); 
$end = new MongoDate(strtotime("2010-01-30 00:00:00")); 

// find dates between 1/15/2010 and 1/30/2010 
$collection->find(array("ts" => array('$gt' => $start, '$lte' => $end))); 

回答

0

很简单实际上:而不是检查范围,只是检查相等性:

$now = new MongoDate(); 
$collection->find(array('ts' => $now)); 

...因为它看起来像你不存储事件启动和电子邮件发现不同性质的信息。如果你真的想要,使用两个属性:'t_start'和't_end',并且只有当事件完成时填充后者。当应用该方案时,查询变得更复杂一点:

$collection->find(array(
    't_end' => array('$exists' => false) 
)); 
相关问题