如何通过Postman将ISODate插入mongoDB?

时间:2019-05-10 17:54:14

标签: mongodb rest postman isodate

如何通过Postman将ISODate插入MongoDB?我环顾四周,但有关此主题的示例/查询仅用于getting various string formats的方式。

我在本地主机上设置了内部API,因此我正在用Postman查询数据库(MongoDB)。查询和条目均以JSON编写,因此我通常会这样:

me.textbox.enabled = false
me.textbox.backcolor = greyout

me.textbox.enabled = true
me.textbox.backcolor = white

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

MongoDB中的日期当然是这样的: { "adminModifiedId": 1, "dateCreated" : new Date(), .., .. } ,但我只是在这里找不到正确的解决方案。我知道Postman确实允许在ISODate("2019-01-21T17:41:27.107Z")部分中设置全局和环境变量,但是,如此建立的平台无法格式化或转换为Pre-request Script类型,这似乎很奇怪。


针对@Danny_Dainton进行了编辑

邮递员正文作为JSON请求 Postman body as JSON

预请求脚本 enter image description here

错误回应 enter image description here


我将保留几天,以查看是否有人可以建议预先确定的答案(不需要ISODate)。否则,我会将我的正确标记为到目前为止对我有用的唯一答案。

2 个答案:

答案 0 :(得分:1)

您可以在Pre-request Script中使用这两种方法。

使用moment库,如下所示:

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正文中。

答案 1 :(得分:0)

无论出于何种原因,其他解决方案都不适用于我,但可能适用于其他解决方案。这个解决了我的问题,尽管可能有用。

预请求脚本

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

身体(样品)

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