【问题标题】:Trouble with variable in Postman POST requestPostman POST 请求中的变量有问题
【发布时间】:2021-10-22 23:49:08
【问题描述】:

我对编码很陌生,所以如果我使用了错误的术语或不清楚,我深表歉意。我有一个 400 多个单词的列表,我需要能够输入我的数据库。我发现this 集合循环遍历我的数据并将其发布到数据库。我几乎可以让它工作,除了这个部分(含义部分)它是一组对象。如果它有所作为,这适用于 React 项目并使用 MongoDB 作为数据库。

每个单词看起来像这样:

{
  "text": "happy",
  "traits": [
    "wordlist100"
  ],
  "meanings": [
    {
      "meaning": "happy",
      "category": "default"
    }
  ],
  "approved": true,
  "createdby": "60dcd7ba69b1e52ac8138051",
  "approvedBy": "60dcd7ba69b1e52ac8138051",
  "lastUserEdit": "60dcd7ba69b1e52ac8138051",
  "blocked": false
}

每个单词可以有多种特征和多种含义。

我有一个 JSON 文件中的所有单词,并使用上面链接的集合通过 Postman 运行它。这是我在 Postman 中请求的正文:

{
    "text": "{{text}}",
    "traits": [
        "{{traits}}"
    ],
    "meanings": [
        {
            "meaning": "{{meaning}}",
            "category": "{{category}}"
        }
    ],
    "approved": true,
    "createdby": "60dcd7ba69b1e52ac8138051",
    "approvedBy": "60dcd7ba69b1e52ac8138051",
    "lastUserEdit": "60dcd7ba69b1e52ac8138051",
    "blocked": false
}

使用它,我的数据库中的所有内容都可以正确显示,但单词的含义和类别除外。这就是 MongoDB 中显示的内容:

{
  "_id": {"$oid": "6121bd6addff936ba4eb84bf"},
  "traits": [
    "wordlist100"
  ],
  "text": "happy",
  "meanings": [
    {
      "_id": {"$oid": "6121bd6addff936ba4eb84c0"},
      "meaning": "{{meaning}}",
      "category": "{{category}}"
    }
  ],
  "approved": true,
  "createdBy": {"$oid": "60dcd7ba69b1e52ac8138051"},
  "approvedBy": {"$oid": "60dcd7ba69b1e52ac8138051"},
  "lastUserEdit": {"$oid": "60dcd7ba69b1e52ac8138051"},
  "blocked": false,
  "createdAt": {"$date": "2021-08-22T02:58:50.679Z"},
  "updatedAt": {"$date": "2021-08-22T02:58:50.679Z"},
  "__v": 0
}

我在单词的含义部分做错了什么?我尝试了几种括号组合,例如如何设置含义部分。

我试过了:

"meanings": [
    "{{meanings}}"
]

...但这根本不起作用。我尝试的大部分操作都产生了一个错误,使集合根本无法运行(这可能是语法错误,正如我所说,我真的很新)。这是唯一让我接近正确的安排。任何帮助将不胜感激。

谢谢!!

附上 Postman 代码和创建的 MongoDB 文档的图片,如果你们中的任何人都更容易使用该格式查看它:

Image of Postman code

Image of MongoDB document created

【问题讨论】:

    标签: mongodb postman postman-collection-runner


    【解决方案1】:

    所以我觉得自己很愚蠢,这只是表明我对这一切有多么陌生。当我发布这个问题时,我所做的只是尝试复制我在我找到的示例的正文中看到的样式(在我的问题中链接),但没有对实际定义变量或触摸前做任何事情-request 脚本,因为我没有意识到这是一个单独的步骤。所以基本上,我很幸运,它足够聪明,可以在没有我将它们定义为变量的情况下找出其他值。

    如果有人稍后阅读此内容,这里有 3 页文档,我用来帮助我找出错误:Using VariablesImporting Data FilesScripting in Postman

    通过阅读这些,我在预请求脚本中添加了以下代码:

    let meanings = pm.iterationData.get("meanings");
    pm.variables.set("meaning", meanings[0].meaning);
    pm.variables.set("category", meanings[0].category);
    

    我还将“含义”和“类别”设置为集合中没有初始值的命名变量。

    Image of adding variables to the Postman collection

    我应该注意的一个警告是,一旦我开始输入具有多个特征或多个含义的内容,我不确定这将如何运作,因为我还没有测试这些部分。我怀疑我仍然需要调整一些东西以使其在这些情况下工作。但它在我的示例中起作用,在含义数组中只有一个特征和一个对象。

    【讨论】:

      猜你喜欢
      • 2021-08-25
      • 2019-11-12
      • 1970-01-01
      • 1970-01-01
      • 2021-12-31
      • 2018-02-11
      • 2011-10-06
      • 2019-10-11
      • 1970-01-01
      相关资源
      最近更新 更多