Храните даты в MongoDB как целое число, а не как значение MongoDate - PullRequest
2 голосов
/ 04 августа 2010

Есть ли недостатки в сохранении дат в виде целых чисел (временных меток) в MongoDB, а не в формате MongoDate?

Поскольку у меня возникают проблемы с Zend Framework и Doctrine ODM для чтения данных, поскольку я получаю их, возвращаемые в виде массива в качестве объекта DateTime. Внутренне MongoDB, кажется, сохраняет их как метки времени, но имеет для этого собственный объект.

1 Ответ

0 голосов
/ 04 августа 2010

MongoDB использует собственный тип объекта MongoDate, который напоминает целочисленную метку времени.

При использовании Doctrine ODM это значение преобразуется в объект DateTime PHP.

Вы можете создать собственный тип Date с помощью Doctrine, который преобразует объект MongoDate в объект Zend_Date:

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

Таким образом, вы пропускаете объект DateTime на стороне PHP, но сохраняете правильные объекты Date, понятные MongoDB.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...