Ich verwende objection.js in meiner App.
Beim Versuch, ein String-Array in eine PostgreSQL-Datenbankspalte einzufügen, ist ein Problem aufgetreten. Die Spalte ist wie folgt definiert:
path TEXT[] NOT NULL
Hier ist das Schema:
path: { type: 'array', items: { type: 'string' }, notNull: true }
Ich möchte eine Tabellenspalte mit upsertGraphAndFetch
(objection.js) aktualisieren, aber beim Aktualisieren und Einfügen erhalte ich eine Fehlermeldung beim Einfügen des Spaltenpfads 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', }, }) }Wenn ich einen Pfad ähnlich wie
['chat']
übergebe rrreee
Wenn ich jedoch versuche, ein Array mit diesem Code einzufügen, erhalte ich die folgende Fehlermeldung:Array-Literal fehlerhaft: „[„chat“]“ „[“ muss Array-Dimensionen explizit angeben.
'{chat}'
)和双括号([['chat']]
Ich habe versucht, einzelne Klammern (
要将字符串数组插入到PostgreSQL的
TEXT[]
类型的列中,您需要将JavaScript数组转换为字符串表示形式,使用花括号和双引号包裹每个元素。在Objection.js中执行以下操作:
现在
TEXT[]
将不会出现任何"malformed array literal"错误。在从数据库查询数据时,Objection.js将处理将其转换回JavaScript数组。#Apache-Age #posgresql #graphql #objection.js