Хочу узнать лучший способ сделать объемную вставку в типов без сохранения ()MySql

Форум по Mysql
Ответить
Anonymous
 Хочу узнать лучший способ сделать объемную вставку в типов без сохранения ()

Сообщение Anonymous »


Я делаю объемную вставку с использованием repository.insert (...) < /code> в типах, и я пытаюсь выяснить лучший способ связать вставленные записи с их связанными метаданными для последующих вставки в другие таблицы. Я также поддерживаю карту , где ключ - это имя продукта, а значение включает в себя все связанные данные, которые будут вставлены в другие таблицы (например, Product_tags , Product_locations и т. Д.) />

Код: Выделить всё

 const productsToInsert = [...productMap.values()].map(entry => entry.product);
const insertResult = await dataSource.getRepository(Product).insert(productsToInsert);

insertResult.generatedMaps.forEach((p, idx) => {
// Trying to get the name to map back to productMap
const productName = p.name; // not available here
const id = p.id;
});
Проблема заключается в том, что генерируемые карты содержит только столбцы, которые были сгенерированы (например, id ), а не столбцы, такие как имя , которые были явно установлены. Так что я не могу сравниться с вставленным идентификатором с исходным продуктом с использованием имени < /code>, который был моим ключом.>
Есть ли лучший способ отслеживать, какой вставленный идентификатор принадлежит какой оригинальной сущности при использовании .insert () < /code>? тоже где нам нужен этот идентификатор для иностранного ключа.


Подробнее здесь: https://stackoverflow.com/questions/795 ... thout-save
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «MySql»