2012-02-14 2 views
7

Есть ли разница между использованием PHP time() и использованием new MongoDate()? Мне нужно сохранить даты created_at и updated_at для каждого документа в коллекции mongoDB , чтобы я мог запросить их по дате (например, документы, обновленные на прошлой неделе).Разница между временем() и новым MongoDate()?

Из чего я могу видеть время() и новый MongoDate() дает тот же результат?

+0

Пожалуйста, добавьте два примера, которые дают одинаковый результат, но отличаются для вашего случая. В противном случае это не совсем понятно, о чем вы думаете. – hakre

ответ

6

Это потому, что time() по умолчанию для MongoDate конструктора, из руководства:

public MongoDate::__construct ([ int $sec = time() [, int $usec = 0 ]]) 

Вы должны использовать MongoDate объекты для запроса MongoDB.

Если вы используете исходный вывод time(), вы будете хранить/запрашивать целое число. Когда вы используете MongoDate, вы будете использовать MongoDB's Date type, который даст вам дополнительные преимущества.

+0

Итак, я могу использовать time(), чтобы сохранить временную метку в БД? Почему я должен использовать MongoDate при выполнении запросов? –

+0

@ Джонатан Кларк см. Обновленный ответ для дальнейшего объяснения. – Mchl

+0

Aha ok. Как тогда MongoId? Но дата выглядит точно так же в документе? Разве это не должно быть иначе? –

Смежные вопросы