Как мне вставить ISODate в mongoDB через Почтальона? - PullRequest
0 голосов
/ 10 мая 2019

Как мне вставить ISODate в MongoDB через Почтальона?Я осмотрелся, но примеры / запросы на эту тему, как правило, предназначены только для получения различных форматов строк .

У меня на локальном хосте настроен внутренний API, поэтому язапрос к базе данных (MongoDB) с почтальоном.Запросы и записи пишутся в формате JSON, поэтому я обычно делаю это так:

   { "adminModifiedId": 1, "dateCreated" : { "$date": "1557510188"}, .., .. }

или

   { "adminModifiedId": 1, "dateCreated" : new Date(), .., .. }

Конечно, даты в MongoDB имеют следующий формат: ISODate("2019-01-21T17:41:27.107Z"), но япросто не могу найти правильное решение здесь.Я знаю, что Postman позволяет устанавливать глобальные переменные и переменные окружения в разделе Pre-request Script, но странно, что созданная таким образом платформа не сможет отформатировать или преобразовать в тип ISODate.


Отредактировано в ответ на @ Danny_Dainton

Тело почтальона как запрос JSON Postman body as JSON

Сценарий предварительного запроса enter image description here

Ответ Erorr enter image description here


Я оставлю это на несколькодней, чтобы узнать, может ли кто-нибудь предложить заранее установленный ответ (для этого не требуется pre-request script).В противном случае я буду отмечать мой правильный ответ как единственный, который до сих пор работал для меня.

Ответы [ 2 ]

1 голос
/ 10 мая 2019

Вы можете использовать любой из этих методов в Pre-request Script.

Использование moment lib, например:

var moment = require('moment')
pm.globals.set("ISO_Date", moment())

Подробнее об этом здесь: https://stackoverflow.com/a/47823708/6028443

Или

Просто используйте базовыйКод JS, подобный этому, создает ту же временную отметку:

pm.globals.set("ISO_Date", (new Date()).toISOString())

После создания переменной добавьте ссылку {{ISO_Date}} к вашему телу request.

0 голосов
/ 16 мая 2019

По какой-то причине другие решения не работали для меня, но могут для других.Эта проблема решила мою проблему, хотя и может быть полезной.

Сценарий предварительного запроса

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

Тело (образец)

    { "adminModifiedId": 1, "dateCreated" : { "$date": {{t}}}, .., .. }
...