1

我正在尝试使用 PHP 获取 Mongo DB 中今天存储的记录数,为此我使用以下查询:

$todayCount = $db->reviews->find(array('date'=>array('$gt'=>strtotime('今天午夜')),'b_id'=>new MongoId($b['_id' ])))->count();

但它给了我 0。在分析查询后发现它没有给出任何值。我花了足够的时间来解决这个问题,但没有得到任何解决方案。不知道我哪里做错了。

我确实有 2 条今天的记录,当我尝试设置静态时间戳时,它只给了我一条记录,第二条是 NULL。

对我来说非常困惑,因为我对 Mongo DB 没有太多经验。

4

1 回答 1

1

我解决了这个问题。实际问题是 MongoDB $gt 仅适用于字符串,而 strtotime 返回整数,这就是我从 Mongo 获得空响应的原因。

解决方法如下。

$currentTime = (string)strtotime('今天午夜');

$todayCount = $db->reviews->find(array('date'=>array('$gt'=>$currentTime,'b_id'=>new MongoId($b['_id'])))->数数();

它解决了我的问题。如果有什么需要补充的,请回复或添加评论。

于 2013-10-31T14:41:44.963 回答