如何通过邮递员将ISODate插入mongoDB?
如何通过邮递员将ISODate插入MongoDB?我已经环顾了四周,但关于这个主题的示例/查询往往只是为了寻找解决问题的方法 我在本地主机上设置了一个内部API,因此我正在使用Postman查询数据库(MongoDB)。查询和条目是用JSON编写的,因此我通常会这样做:如何通过邮递员将ISODate插入mongoDB?,mongodb,rest,postman,isodate,Mongodb,Rest,Postman,Isodate,如何通过邮递员将ISODate插入MongoDB?我已经环顾了四周,但关于这个主题的示例/查询往往只是为了寻找解决问题的方法 我在本地主机上设置了一个内部API,因此我正在使用Postman查询数据库(MongoDB)。查询和条目是用JSON编写的,因此我通常会这样做: { "adminModifiedId": 1, "dateCreated" : { "$date": "1557510188"}, .., .. } 或 当然,MongoDB中的日期是这样的格式:ISODate(“201
{ "adminModifiedId": 1, "dateCreated" : { "$date": "1557510188"}, .., .. }
或
当然,MongoDB中的日期是这样的格式:ISODate(“2019-01-21T17:41:27.107Z”)
但我在这里找不到正确的解决方案。我知道Postman确实允许在请求前脚本
部分设置全局和环境变量,但这样建立的平台无法格式化或转换为ISODate
类型似乎很奇怪
编辑回应@Danny_Dainton 邮递员尸体作为JSON请求 请求前脚本 Erorr响应
我将把这个问题留几天,看看是否有人可以建议一个预先确定的答案(这不需要
预先请求脚本
)。否则,我会将我的正确答案标记为迄今为止唯一对我有效的答案。您可以在请求前脚本中使用这两种方法之一
使用力矩
库,如下所示:
var moment = require('moment')
pm.globals.set("ISO_Date", moment())
更多信息请点击此处:
或
只需使用如下基本JS代码创建相同的时间戳:
pm.globals.set(“ISO_日期”,“新日期()).toISOString())
创建变量后,将{{ISO_Date}}
引用添加到您的请求
正文中。无论出于何种原因,其他解决方案对我无效,但可能对其他人有效。这一个解决了我的问题,虽然可能是有用的
请求前脚本
let t = Date.now()
pm.environment.set('t', t);
主体(样本)
@丹尼·丹顿,谢谢。不幸的是,这两个都不适合我。我的body请求
是JSON
试图插入MongoDB
。因此,在添加预请求脚本之后,这是:{“AdminModifieded”:1,“dateCreated”:{{ISO_Date},…,}
。错误为[无效Json:意外字符(';-';(代码45)):应使用逗号分隔对象条目
是否尝试将其括在引号中“{{ISO u Date}”
-这是《邮差》中的语法,所以你一定在做其他事情。你能用这张图片和错误更新这个问题吗?@Danny_Dainton我刚刚编辑了原始问题,并用一些截图显示了我的尝试。“{ISO Date}”
确实插入到数据库中,但只是作为字符串,即“dateCreated”:“2019-05-12T16:26:23.205Z”
而不是ISODate(“2019-05-12T16:26:23.205Z”)
应该在正文中添加双引号。例如“{t}”
let t = Date.now()
pm.environment.set('t', t);
{ "adminModifiedId": 1, "dateCreated" : { "$date": {{t}}}, .., .. }