簡體   English   中英

FaunaDB FQL - 找不到表單/函數,或無效的參數鍵:{ params }

[英]FaunaDB FQL - No form/function found, or invalid argument keys: { params }

我正在學習 FQL 並嘗試進行大規模更新,但我無法弄清楚我做錯了什么,也無法真正弄清楚錯誤的真正指向。

這是我的代碼:

const updateResult = await serverClient.query(
    q.Map(
        guests,
        q.Lambda(
            "guest",
            q.Update(q.Var("guest").id, {
                data: {
                    emailSent: q.Var("guest").emailSent,
                    emailStatus: q.Var("guest").emailStatus,
                    emailRejectReason: q.Var("guest").emailRejectReason,
                },
            })
        )
    )
);

這是客人 object 通過 console.log 看到的內容:

[ { email: 'myemail+bart72320@gmail.com',
emailStatus: 'sent',
emailRejectReason: null,
emailSent: true,
id: Ref(Collection("Guests"), "271884343706649107") } ]

這是與 JSON.stringify 相同的 object:

    [
  {
    "email": "myemail+bart72320@gmail.com",
    "emailStatus": "sent",
    "emailRejectReason": null,
    "emailSent": true,
    "id": {
      "@ref": {
        "id": "271884343706649107",
        "collection": {
          "@ref": {
            "id": "Guests",
            "collection": {
              "@ref": {
                "id": "collections"
              }
            }
          }
        }
      }
    }
  }
]

這是返回的錯誤的一部分:

    { [BadRequest: invalid expression]
  name: 'BadRequest',
  message: 'invalid expression',
  description:
   'No form/function found, or invalid argument keys: { params }.',
  requestResult:
   RequestResult {
     method: 'POST',
     path: '',
     query: null,
     requestRaw:
      '{"map":{"lambda":"guest","expr":{"params":{"object":{"data":{"object":{}}}}}},"collection":[{"object":{"email":"myemail+bart72320@gmail.com","emailStatus":"sent","emailRejectReason":null,"emailSent":true,"id":{"@ref":{"id":"271884343706649107","collection":{"@ref":{"id":"Guests","collection":{"@ref":{"id":"collections"}}}}}}}}]}',
     requestContent: Expr { raw: [Object] },
     responseRaw:
      '{"errors":[{"position":["map","expr"],"code":"invalid expression","description":"No form/function found, or invalid argument keys: { params }."}]}',

我已經得到了工作的更新和 lambdas 的工作,但不是這個,也許我只是不擅長閱讀非常嵌套的、功能性的錯誤消息。 什么是表單,它與 function 相同,還是我缺少鍵:參數? 我不知道該怎么做。

請幫助我了解我做錯了什么以及此錯誤消息是否真的有用以及如何解釋它,或者它只是一個令人困惑的包羅萬象?

謝謝!

您正在將 Javascript 語法與 FQL 表達式混合。

Var("guest")

是一個 FQL 表達式,但是

Var("guest").id

是 Javascript 語法。 FQL 中點運算符的等價物是

Select("id", Var("guest"))

請記住,FQL 不在 Javascript 上執行,而是在服務器端執行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM