我正在尝试使用 PHP 获取 Mongo DB 中今天存储的记录数,为此我使用以下查询:
$todayCount = $db->reviews->find(array('date'=>array('$gt'=>strtotime('today 午夜')),'b_id'=>new MongoId($b['_id'])))->count();
但它给了我 0。分析后,查询发现它没有给出任何值。我花了足够的时间来解决这个问题,但无法得到任何解决方案。不知道我哪里做错了。
我确实有 2 条今天的记录,当我尝试设置静态时间戳时,它只给我一条记录,第二条记录为 NULL。
对我来说非常困惑,因为我对Mongo DB没有太多经验。
我解决了这个问题。实际问题是MongoDB$gt仅适用于字符串,而strtotime返回整数,这就是我从Mongo获得空响应的原因。
解决方案如下。
$currentTime = (string)strtotime('today midnight');
$todayCount = $db->reviews->find(array('date'=>array('$gt'=>$currentTime,'b_id'=>new MongoId($b['_id'])))->count();
它解决了我的问题。如果有任何需要添加的内容,请回复或添加评论。