찾다

 >  Q&A  >  본문

PostgreSQL 열에 배열을 삽입할 때 잘못된 배열 리터럴

내 앱에서는 objection.js를 사용합니다.

PostgreSQL 데이터베이스 열에 문자열 배열을 삽입하는 동안 문제가 발생했습니다. 열은 다음과 같이 정의됩니다.

path TEXT[] NOT NULL

스키마는 다음과 같습니다.

path: { type: 'array', items: { type: 'string' }, notNull: true }

upsertGraphAndFetch(objection.js)를 사용하여 테이블 열을 업데이트하고 싶지만 업데이트하고 삽입하는 동안 오류가 발생합니다. 열 경로를 삽입하는 동안 upsertGraphAndFetch(objection.js)更新表列,但在更新和插入时,插入列path时出现错误

return NotificationUserOption.query().upsertGraphAndFetch(
        { userId: ctx. user, path, groupId, option },
        { insertMissing: true },

当我传递类似于['chat']

await updateGlobalChatNotificationOptIn({
      variables: {
        path: ['chat'],
        option: updatedGlobalChatNotificationOptIn ? '30MinSummary' : 'off',
      },
    })
  }

['chat']

rrreee

와 유사한 경로를 전달하면 이 코드를 사용하여 배열을 삽입하려고 하면 다음 오류가 발생합니다.

배열 리터럴 형식이 잘못됨: "["chat"]" "["는 배열 차원을 명시적으로 지정해야 합니다.

'{chat}')和双括号([['chat']]단일 괄호(

)를 사용해 보았지만 둘 다 작동하지 않았습니다.

PostgreSQL 열에 삽입할 때 이 오류가 발생하지 않도록 배열 리터럴의 형식을 올바르게 지정하는 방법은 무엇입니까? 🎜
P粉141925181P粉141925181304일 전535

모든 응답(1)나는 대답할 것이다

  • P粉009828788

    P粉0098287882024-01-30 11:48:17

    PostgreSQL 유형 TEXT[] 열에 문자열 배열을 삽입하려면 JavaScript 배열을 문자열 표현으로 변환하고 각 요소를 중괄호와 큰따옴표로 묶어야 합니다.

    Objection.js에서 다음을 수행하세요.

    으아아아

    이제 TEXT[] "잘못된 배열 리터럴" 오류가 발생하지 않습니다. 데이터베이스에서 데이터를 쿼리할 때 Objection.js는 이를 JavaScript 배열로 다시 변환하는 작업을 처리합니다.

    #Apache-Age #posgresql #graphql #objection.js

    회신하다
    0
  • 취소회신하다