Разбор JavaScript объекта для обновления PostgreSQL таблиц - PullRequest
0 голосов
/ 26 мая 2020

У меня есть объект JavaScript, как показано ниже. Я хотел бы вставить пользователей из этого объекта с помощью вызова функции postgres в моем приложении node.js. Мне нужна помощь в создании функции postgres.

Мне нужно проверить, существует ли пользователь, если они есть, я изменю таблицу пользователей, если нет, я вставлю в таблицу пользователей.

insert: {
  jSmith: {name: 'John Smith', email: 'JSmith@gmail.com'},
  elisa: {name: 'Eli Lisa', email: 'ELisa@gmail.com'}
}

1 Ответ

0 голосов
/ 26 мая 2020

Вы можете l oop на вашем ha sh и использовать postgres UPSERT (обновить или вставить). Обычно он вставляет запись в таблицу, если нет конфликта. Но если есть конфликт с данным ограничением, он выполнит обновление. для получения дополнительной информации: POSTGRES -UPSERT

вот базовый c подход к нему

Object.values(insert).forEach((row) => {
        stmt = `Insert into <table-name> (name, email, other-columns...) values ('${row.name}', '${row.email}', ....)
        On Conflict (name)
        Do
        Update <table-name> set <perform-updating>`

    // Execute the above statement
})

Вы также можете использовать подготовленный оператор вместо строковая интерполяция в приведенном выше алгоритме.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...