使用 sanity.io groq 使查询动态更改

make the query dynamically to change using sanity.io groq

您好,我正在尝试发出 post 请求,我想更新 sanity.io

上的一个字段

这是我的查询

patch: {
          id: "f6c46b53-9313-4354-a4d6-7a40b06ee4c0",
          set: {
            `rewardItem[_key == \"${key}\"].lastTimeReward`: "TEst",
          },
        }

但这不会让我什至 运行 我的项目, 它在 console.log 上给我这个错误:意外的令牌;

当我这样查询时,它有效

patch: {
          id: "f6c46b53-9313-4354-a4d6-7a40b06ee4c0",
          set: {
            "rewardItem[_key == \"e88959e43ce7\"].lastTimeReward": "Test",
          },
        }
      }]

非常感谢。

你的set-属性是一个对象,你不能直接在对象中输入动态键。要执行您在此处尝试执行的操作,您可以 wrap the dynamic key in square brackets 像这样。那应该给你你想要的输出

const variable = "example"
const a = { [`template ${variable}`]: "value" }
console.log(a)