【问题标题】:MongoDb Date query with php doesn't work使用 php 进行 MongoDb 日期查询不起作用
【发布时间】:2017-01-02 10:43:05
【问题描述】:

我正在尝试从 mongodb 获取今天的数据。

这是一个示例文档:

{
   "_id": ObjectId("586a284a1f815b55608b456b"),
   "timestamp": "02/01/2017 03:45:36",
   "data": "29",
   "lat": "not available",
   "time": ISODate("2017-01-02T10:15:38.57Z") 
}

这里是 PHP 代码:

$query = array('time'=>array ('$gte'=>new mongoDate()));
$str = $collection->find($query);
foreach($str as $doc)
print_r($doc);

我做错了什么?我得到的是空输出。

【问题讨论】:

  • new mongoDate() 是当前时间,而文档包含过去的某个时间,不大于或等于它。
  • 你是对的。我的坏

标签: php mongodb mongodb-query


【解决方案1】:

您正在使用greater than,并且您将来没有数据集,因此找不到任何数据。

我认为您正在寻找 $lte lesser than,它将为您提供过去的数据集。

【讨论】:

    【解决方案2】:

    您在数据中有一个过去的日期,并且您正在查询大于或等于当前日期的日期,即现在或未来,这将为空。 您可能需要$lte(小于或等于)来进行查询:

    $query = array('time'=>array ('$lte'=>new mongoDate()));
    

    【讨论】:

      猜你喜欢
      • 2013-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-09
      • 1970-01-01
      相关资源
      最近更新 更多