如何通过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进行了编辑
我将保留几天,以查看是否有人可以建议预先确定的答案(不需要ISODate
)。否则,我会将我的正确标记为到目前为止对我有用的唯一答案。
答案 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}}}, .., .. }