如何通过 Postman 将 ISODate 插入 mongoDB?

How do I insert an ISODate into mongoDB via Postman?

如何通过 Postman 将 ISODate 插入 MongoDB?我环顾四周,但关于这个主题的 examples/queries 往往只是为了 getting various string formats.

的方法

我在我的本地主机上设置了一个内部 API,所以我正在使用 Postman 查询数据库 (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

Postman 正文作为 JSON 请求

预请求脚本

错误响应


我会把它搁置几天,看看是否有人可以提出一个预先确定的答案(不需要 pre-request script)。否则,我会将我的正确标记为迄今为止对我有用的唯一答案。

您可以在 Pre-request Script 中使用这些方法中的任何一种。

使用 moment 库,像这样:

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

更多信息请点击此处:

只需使用像这样的基本 JS 代码来创建相同的时间戳:

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

创建变量后,将 {{ISO_Date}} 引用添加到您的 request 主体。

无论出于何种原因,其他解决方案对我不起作用,但可能对其他人有用。这个解决了我的问题,所以可能有用。

Pre-request 脚本

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

正文(样本)

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