Как хранить метки времени?Созданные и обновленные поля доступны автоматически? - PullRequest
22 голосов
/ 16 сентября 2010

Как лучше всего хранить временные метки в MongoDB?

  1. Какой формат лучше:

    # "created": { "d" : "2010-03-29", "t" : "20:15:34" }
    # "created": "12343545234" # seconds since epoc
    # "created": "2010-03-14T21:20:14+0000"
    
  2. Есть ли способ, чтобы MongoDB автоматически устанавливал поля created и updated?

Ответы [ 4 ]

22 голосов
/ 16 сентября 2010

Какой формат лучше

Лучше для чего?

Есть ли способ, чтобы MongoDB автоматически устанавливал создаваемые и обновляемые поля?

Создано время в ObjectId , но, насколько я знаю, вам придется обновить поле updated вручную.

Пример:

ObjectId("538141a9615760fd04ffef5f").getTimestamp()
6 голосов
/ 16 сентября 2010
  1. Предпочтителен формат, необходимый для его обработки с максимальной производительностью в вашем приложении.Обратите внимание, что по умолчанию каждый документ в MongoDB получает созданную временную метку (http://www.mongodb.org/display/DOCS/Object+IDs#ObjectIDs-DocumentTimestamps)

  2. См. 1) + Я думаю, вам нужно вручную установить поле «update».

5 голосов
/ 19 августа 2013

Если вы выполните следующие действия в оболочке mongo, она покажет вам метку времени, которая указывает, когда эти документы были вставлены с использованием mongoId. Например ObjectId("51f3dee5ee49f9b91e0db133").getTimestamp(), затем возвращается ISODate.

2 голосов
/ 03 октября 2011

В версии 1.8 и выше Mongo имеет способ создания 64-битных значений меток времени, которые гарантированно уникальны на одном сервере.Но они не обновляются автоматически.http://www.mongodb.org/display/DOCS/Timestamp+data+type

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