Как получить метку времени, используя идентификатор объекта в mongoDB - PullRequest
0 голосов
/ 23 сентября 2018

как я могу получить временную метку, используя идентификатор объекта в mongoDB. Я использую NodeJS и mongoDB в качестве моего внутреннего сервиса, я хочу получить дату и время документа, когда он вставлен в коллекцию.Вот что я использую:

 db.Users.find()._id.getTimestamp()

ВЫХОД

 ISODate("2018-09-11T11:00:38Z")

Теперь я хочу знать:

1) Отдельная датаи строку времени сверху и преобразовать ее в читаемый формат.

2) Эта метка времени, возвращаемая идентификатором объекта MongoDB, основана на времени сервера или компьютера пользователя.

СПАСИБО

Ответы [ 2 ]

0 голосов
/ 07 июля 2019

1-

.getTimestamp().toLocaleDateString() //get the date
  .getTimestamp().toLocaleTimeString() // get the time

2-Внутренне, объекты Date хранятся как 64-разрядное целое число со знаком, представляющее количество миллисекунд с начала Unix (1 января 1970 г.).Один стандартный способ хранения дат во многих базах данных - это подсчет миллисекунд с начала эпохи, где 0 соответствует 1 января 1970 года в 00: 00: 00GMT.Вот как даты хранятся внутри большинства языков программирования .

0 голосов
/ 23 сентября 2018

1) getTimestamp() доступно для ObjectID объектов, например, по умолчанию в поле _id.Поэтому, как бы вы ни получали ваши документы, они будут доступны.Это возвращает объект javascript Date, поэтому его легко извлекать и манипулировать им, как вам нужно.

2) Встроенная метка времени в ObjectID зависит от того, где он был создан.Если он был создан на стороне клиента, он будет из клиентской системы;если он был создан на стороне сервера, он будет от серверной системы.

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