Хочу узнать лучший способ сделать объемную вставку в типов без сохранения ()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

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