【问题标题】:How do I insert an ISODate into mongoDB via Postman?如何通过 Postman 将 ISODate 插入 mongoDB?
【发布时间】:2019-09-28 15:48:49
【问题描述】:

如何通过 Postman 将 ISODate 插入 MongoDB?我环顾四周,但有关此主题的示例/查询往往只是针对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

作为 JSON 请求的邮递员正文

预请求脚本

错误响应


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

【问题讨论】:

    标签: mongodb rest postman isodate


    【解决方案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 正文。

    【讨论】:

    • @Danny_Dainton 谢谢。不幸的是,这些都不适合我。我的body requestJSON 试图插入MongoDB。所以在添加Pre-request Script 之后,这是:{ "adminModifiedId": 1, "dateCreated" : {{ISO_Date}}, .., .. }。带有错误[Invalid Json: Unexpected character ('-' (code 45)): was expecting comma to separate Object entries
    • 你试过用引号括起来吗"{{ISO_Date}}" - 这是 Postman 中的语法,所以你必须做其他事情。你能用这个图像和错误更新问题吗?
    • @Danny_Dainton 我刚刚用一些屏幕截图编辑了原始问题,以显示我尝试过的内容。 "{{ISO_Date}}" 确实插入到数据库中,但只是作为字符串,即 "dateCreated" : "2019-05-12T16:26:23.205Z" 而不是 ISODate("2019-05-12T16:26:23.205Z")
    【解决方案2】:

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

    预请求脚本

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

    主体(样本)

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

    【讨论】:

    • 您应该在正文中添加双引号。喜欢这个“{{t}}”
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-08
    • 1970-01-01
    • 2018-12-02
    • 2021-09-02
    • 2017-06-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多