所以我正在尝试选择不比我周长的数据,我需要 mysql 的这样的东西:
WHERE date <= one week ago
这是我当前的查询:
$this->aggregate(
array(
array('$sort' => array( '_id' => self::SORT_DESC)),
array('$match' => array( 'seen' => 0)),
array('$group' => array('_id'=>'$target_user',
'type' => array('$push'=> array('type' => '$type',
'title'=>'$title',
'link'=>'$link',
'dt'=>'$dt',
'own'=>'$own',
'usr'=>'$usr'))
)),
));
$group
中dt
字段是一个字符串日期,存储方式如下: 2013-10-14 14:53:11
,根据我需要的数据dt
键,不超过一周。
蒙戈可以做这样的事情吗?
使用 MongoDate,您可以执行以下操作:
$this->aggregate(
array(
array('$match' => array( 'seen' => 0, 'dt' => array('$gte'=> new 'MongoDate(strtotime('-1 week'))))),
array('$sort' => array( '_id' => self::SORT_DESC)),
array('$group' => array('_id' => '$target_user',
'type' => array('$push'=> array('type' => '$type',
'title'=>'$title',
'link'=>'$link',
'dt'=>'$dt',
'own'=>'$own',
'usr'=>'$usr'))
)),
));