jjzjj

MongoDate

全部标签

php - 使用 PHP 仅从 MongoDate 查询 "sec"字段

我有一个字符串转换为MongoDate使用$dateAdded=newMongoDate(strtotime("$time"));echo"date".$dateAdded;所以我的$dateAdded现在看起来像0.000000001482505458。(这里的1482505458是秒数,0.00000000是微秒。)现在,我的收藏中有一个文档,其中sec=1482442458和usec=622000。Array([_id]=>Array([addedtime]=>MongoDateObject([sec]=>1482505458[usec]=>622000))如何编写只匹配秒字段的

php - 如何在带有 Mongodb 的 Cakephp 中为 Mongodate 使用 DATE_FORMAT?

您好,我在我的cakephp应用程序中使用MongoDB作为数据库。我正在使用this它的插件。我想从我的用户集合中搜索记录(文档)。我正在使用这个片段$userDetails=$this->User->find('all',array('conditions'=>array('userId'=>18)));它对我有用。现在我想像所有在2016年1月创建的用户一样按日期获取记录。因此我必须使用类似于MySQL的DATE_FORMAT函数,它可能类似于$month=date('m');$userDetails=$this->User->find('all',array('conditio

PHP - 比较两个 mongodates

我可以像下面这样比较2个mongodates吗?在我的测试中,它运行良好。但是mongodates是对象,它们将来也会以同样的方式工作吗?$d1=newMongoDate(1391671630);$d2=newMongoDate(1391671631);echo($d1,==,>=, 最佳答案 您将需要使用MongoDate对象的sec属性:$d1->secsec 关于PHP-比较两个mongodates,我们在StackOverflow上找到一个类似的问题:

php - Mongodate转换

执行查询后$orders=Orders::connection()->connection->command(array('aggregate'=>'orders','pipeline'=>array(array('$group'=>array('_id'=>array('cust_id'=>'$cust_id','ord_date'=>'$ord_date'),'total'=>array('$sum'=>'$price'),),),)));我将$orders的输出数组作为Array([0]=>Array([_id]=>Array([cust_id]=>xyz123[ord_date

php - PHP 中错误的时区 MongoDate

我通过PHP在MongoDB中插入数据,其中一个字段是日期。因此,根据MongoDB文档,我使用了newMongoDate()来做到这一点。在MongoDB中,日期存储为ISODate("2013-07-03T22:56:12Z")。这意味着我的时区是Z(=0Z),所以时区等于0。但我在美国西海岸,我所在位置的时区是8Z(太平洋时间)。当我在终端的Mongo上键入newDate()时,一切正常。日期是ISODate("2013-07-03T22:56:128Z"),所以这是正确的时区8Z。我的开发环境是Windows,MongoDB是2.4.4版本是否需要在MongoDB、PHP代码或

PHP MongoDB 与 MongoDate 上的查询结果不一致

我在分片MongoDb设置上运行一个非常基本的脚本来选择给定日期的消息数量。但是,多次运行此命令会导致结果不一致,有时返回数字,有时只返回0。mongodb服务器版本为2.4.3我是不是漏掉了什么?这是脚本:selectDB('database');$messages=$db->selectCollection('messages');$date1=newMongoDate(strtotime('2013-10-20'));$date2=newMongoDate(strtotime('2013-10-21'));var_dump($date1);var_dump($date2);$it

php - fatal error : Class 'MongoDate' not found when using mongodb php driver 1. 1.2 和 PHP 7.0.2 - Laravel 5.1

我正在尝试配置MongoDB以在虚拟Ubuntu14.04机器上使用我的Laravel5.1Homestead实例。我能够使用sudopeclinstallmongodb成功安装支持PHP7.0的最新版本的MongoDB(这对7.0是正确的,不sudopeclinstallmongo了)。然后我在我的Ubuntu机器上的php.ini文件(全部三个)中添加了扩展,每个文件在:/etc/php/7.0/cli/php.ini/etc/php/7.0/fpm/php.ini/etc/php/7.0/cgi/php.ini这是我编写的适用于PHP7.0的扩展:extension=mongod

php - MongoDate toDateTime() 函数没有定义?

这让我很难过...我使用的确切示例来自:http://php.net/manual/en/mongodate.todatetime.php但我得到了:PHPFatalerror:CalltoundefinedmethodMongoDate::toDateTime()toDateTime());?>我得到的确切输出是:object(MongoDate)#1(2){["sec"]=>int(1416330085)["usec"]=>int(0)}PHPFatalerror:CalltoundefinedmethodMongoDate::toDateTime()in/xxx/testmong

php - MongoDate toDateTime() 函数没有定义?

这让我很难过...我使用的确切示例来自:http://php.net/manual/en/mongodate.todatetime.php但我得到了:PHPFatalerror:CalltoundefinedmethodMongoDate::toDateTime()toDateTime());?>我得到的确切输出是:object(MongoDate)#1(2){["sec"]=>int(1416330085)["usec"]=>int(0)}PHPFatalerror:CalltoundefinedmethodMongoDate::toDateTime()in/xxx/testmong

php - 使用 MongoDate 与 UTCDateTime 进行查询

升级到新的MongoDriverforPHP后,我面临排序和查询日期的问题。使用的旧驱动程序:http://php.net/manual/en/class.mongodate.php以秒为单位将日期存储在MongoDate对象中。新驱动程序:http://php.net/manual/en/class.mongodb-bson-utcdatetime.php以不同的格式存储日期并以毫秒为单位。这使得使用$gte或$lte的查询变得毫无用处。示例:$collection->find(array('start_date'=>array('$gte'=>newMongoDate())));$
12