将日期存储为MongoDB中的整数(时间戳)而不是MongoDate格式是否有任何缺点?
因为我在使用Zend Framework和Doctrine ODM来读取数据时遇到了问题,因为我将它们作为数组作为DateTime对象返回。内部MongoDB似乎将它们保存为Timestamps,但它有自己的对象。
答案 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对象。