将MongoDB中的日期存储为整数而不是MongoDate值

时间:2010-08-04 15:57:25

标签: php datetime mongodb

将日期存储为MongoDB中的整数(时间戳)而不是MongoDate格式是否有任何缺点?

因为我在使用Zend Framework和Doctrine ODM来读取数据时遇到了问题,因为我将它们作为数组作为DateTime对象返回。内部MongoDB似乎将它们保存为Timestamps,但它有自己的对象。

1 个答案:

答案 0 :(得分:0)

MongoDB使用自己的对象类型MongoDate,类似于整数时间戳。

使用Doctrine ODM时,此值将转换为DateTime PHP对象。

您可以使用Doctrine创建自定义日期类型,将MongoDate对象转换为Zend_Date对象:

Doctrine\ODM\MongoDB\Mapping\Types\Type::overrideType("date", "My_Date_Class");

这样就可以跳过PHP端的DateTime对象,但是存储MongoDB可以理解的正确Date对象。