Как хранить метки времени? Автоматически создаются и обновляются поля?
Каков наилучший способ хранения временных меток в MongoDB?
-
Какой формат лучше всего:
# "created": { "d" : "2010-03-29", "t" : "20:15:34" }
# "created": "12343545234" # seconds since epoc
# "created": "2010-03-14T21:20:14+0000"
-
Есть ли способ, чтобы MongoDB автоматически устанавливал поля created
и updated
?
Ответы
Ответ 1
Какой формат лучше всего
Лучший для чего?
Есть ли способ, чтобы MongoDB автоматически установил созданные и обновленные поля?
Созданное время находится в ObjectId, но, насколько я знаю, вам придется обновить поле updated
вручную.
Пример:
ObjectId("538141a9615760fd04ffef5f").getTimestamp()
Ответ 2
Ответ 3
Если вы выполните следующие действия в оболочке mongo, вы увидите отметку времени, которая отображается, когда эти документы вставлены с помощью mongoId. Напр. ObjectId("51f3dee5ee49f9b91e0db133").getTimestamp()
, то он возвращает ISODate
.
Ответ 4
В 1.8 и выше у Mongo есть способ создать 64-битные значения метки времени, которые гарантированы уникальными на одном сервере. Но они не обновляются автоматически. http://www.mongodb.org/display/DOCS/Timestamp+data+type