如何在mongodb和php中计算特定日期的对象

我有一个日期保存为像这样的字符串tdate:“2016-11-26 2:23:11”在
mongodb.我想要计算2016-11-26这个日期的所有对象.

这是我尝试使用
PHP但没有运气的方式.

date_authenticated的格式为“Y-m-d H:i:s”,而我希望白天得到所有对象,其格式为“Y-m-d”

function count_auth($tdate) {
  $collection = 'mycollection';
  return $this->db->{$collection}->count(array('date_authenticated' => $tdate));
    }

最佳答案 如果您已将日期保存为字符串,则可以使用MongoRegex查找条目,如
PHP mongo find field starts with中所述.在您的情况下,它应该类似于:

$startsWithRegex = '/^2016-11-26/'; 
$this->db->{$collection}->count(['date_authenticated' => array('$regex'=>new MongoRegex($startsWithRegex))]);

但是我建议您阅读Find objects between two dates MongoDB,因为如果您正确处理日期,您可以执行更好的查询.

点赞