{{$ timestamp}} возвращает время 1970 года, а не текущее время - PullRequest
0 голосов
/ 29 ноября 2018

Согласно документации в Почтальоне текущее время / дату (в миллисекундах) можно вставить в запрос тела с помощью {{$timestamp}}, но это просто возвращает мне 1970 миллисекунд, как я вижупри запросе базы данных напрямую.Данные передаются в MongoDB, которая принимает записи JSON, например, и преобразует их в дату ISO:

  {
    "adminModifiedId" : 1,
    "dateCreated" : { "$date": {{$timestamp}}},
    "lastModified" : { "$date": {{$timestamp}}},
    "adminCreatedId" : 1
  }

ISODate, видимый непосредственно в базе данных, - ISODate("1970-01-18T20:45:01.406Z").У кого-нибудь есть опыт решения этой проблемы или решения?спасибо всем!

1 Ответ

0 голосов
/ 29 ноября 2018

Проблема здесь в том, что почтальон $ timestamp возвращает эпохальные секунды, где new Date() в монго принимает его в эпоху миллисекунд (так же, как в javascript)

Вы можете справиться с этим вна стороне сервера путем умножения на 1000.

Если вы хотите, чтобы это обрабатывалось в почтальоне, это можно сделать с помощью переменных почтальона, созданных в «Предварительном запросе».(См. Ссылка для получения подробной информации.)

let t = Date.now()
pm.environment.set('t', t);

enter image description here

Теперь вы можете ссылаться на эту переменную в теле вашего запроса:просто окружив его фигурными скобками.

{
   "date": {{t}}
}
...